When block 100,000 is mined, drop the oldest 50,000 blocks. The remaining oldest block is the new "genesis block". Any remaining unspent outputs on the dropped blocks are given to the miner.
Bam, done.

This is a horrible idea.
Thankfully it can't be implemented without consensus from all of the users of bitcoin, and I'm confident that you'll never be able to get consensus on such a poor proposal.