I have ported stuff related to handling this for columns/supercolumns (requires changes to size calculations as well) including more dense timestamp handling.
I was looking quickly at the sstables as well as other places where we write short/ints/longs and I started realizing that modifying all of this gets a bit of a work.
What about changing RandomAccessReader to something like (Descriptor desc,...) rather than (File file, ....) and adding backwards compatibility there for fixed length/ variable length readInt/Long there?
On the write side, modify SequentialWriter with overrides for variable length write methods.
Any objections against doing this at such a "low" level?