Chain pruning is probably a separate thread, changing subject.
 
Reason is that the actual blocks available are likely to change frequently (if
you keep the last week of blocks

I doubt anyone would specify blocks to keep in terms of time. More likely it'd be in terms of megabytes, as that's the actual resource constraint on nodes. Given a block size average it's easy to go from megabytes to num_blocks, so I had imagined it'd be a new addr field that specifies how many blocks from the chain head are stored. Then you'd connect to some nodes and if they indicate their chain head - num_blocks_stored is higher than your current chain height, you'd do a getaddr and go looking for nodes that are storing far enough back.