Не знаю, почему вы не хотите использовать UUID. Но вы можете использовать комбинацию смещения и номера раздела для вычисления уникального идентификатора. Что-то вроде:
// you need to know upfront how many partitions the input topis has
private final static int NUMBER_OF_PARTITIONS = ...
// within `Transformer#transform()` using `KStream#transform()`
// (also consider to use #transformValues() instead).
// `context` is given via `init()`
long id = context.offset() * NUMBER_OF_PARTITIONS + context.partition();