I agree with you that it is a weakness of the system that there are no ways to distinguish whether a coin is loss or simply hoarded. From the economic view, it may raise concern of sudden discovery of the old wallet in the future. However, your solution is not good and it is too complex to be accepted into the current protocol.
My proposal: Unmoved Bitcoin with age more than, say, 40 years are marked as lost and cannot be used for further transaction.
Imposing a time limit has many advantage over the supposed infinite time model:
1. All cryptography keys in use today need to update periodically, for security reason. Leaving the same public key in block for a long time will simply increase the risk of being hacked. So moving the Bitcoin into a new wallet could secure their Bitcoin.
2. It allows the network drop old blocks.
3. This proposal can be implemented very easily with few lines.
4. The proposal implies that value of the lost Bitcoin will be automatically go to all others wallet.
5. It allows the differentiation between lost Bitcoin and hoarded Bitcoin to reduce uncertainty.
6. They should know that Bitcoin can be lost so that they wont put everything into Bitcoin.
There is no such need to reclaim the lost Bitcoin or allow for new mining. Otherwise, if there is 100000 Bitcoin lost for 40 years, you just give the miner with the ability to manipulate the market which make no difference with someone who discovers it. Also, the time interval is should not be too short, say, 1 year. It will only create an instability for the Bitcoin economy. For example, you might want to destroy others wallet in order to maximize your own profit.
Using the proposal, everyone else is actually gaining a very tiny value of their own Bitcoin and it is the most fair method to handle lost of Bitcoin. Remember that the creation of Bitcoin out of nothing is simply a way to make an initial distribution of Bitcoin, there is no need to mining in a sustainable system anymore in the future. I know someone do not like to see that the decimal in their account is smaller and smaller over year. But it is just a game of number, you should really divided by the maximum number of Bitcoin.
If 99% of bitcoin is marked as lost, we can simply multiply 100 to the balance in the bitcoin client.