As of POC5 the key/value store associated to a given contract impose a 32 bytes value. Of course some values doesn't require these 32 bytes, for instance in the Chronos contract  the storage is used to keep 4 bytes timestamp. Because the blockchain space is expensive (for good reasons) I might want to merge up to 32/4=8 different timestamp values in a single storage entry to reduce the gas fee, and then play with bit operators to read or write the one I want. That's really hacky.
A pricing model in which I can (optionally?) specify how much space I want to use (in this case 4 bytes) and then pay the fee accordingly would make a lot of sense.
This more granular model would also simply the storage of "large" values (32b+). Currently we have to split a large value in chunk of 32 bytes and put these chunks in different storage locations, and then recompose the different parts to read the original value. Once again this is very hacky it would be easier to register a 64 or 128 bytes value by just specify it and without splitting it. That would also considerably simplify the compilation process of high level languages such as Serpent or Mutant which allow structures like arrays.