Yes, the owner will eventually lose all the money.
However, data stored by wallet (let's assume v3r2) is less than 1 KiB, so to lose even 1 TON you'll have to wait thousands of years, over which time the network will clearly have some other breaking changes.
tonlib-cli from the TON monorepo should work well.
Strictly speaking, finding the most efficient way to structure storage is NP-class task meaning that it will require too much resources given the amount of bits.
Dictionaries are binary trees (up to 2 branches in cell), though reading and updating them is actually cheaper than quadro-trees. So I'd recommend using dicts.