I like the idea of trying to prevent "name squatting", but honestly I doubt this would work. Since also in your system a name can't be "taken away" once it is registered (which I think is a highly desirable property), I think that a lot of good names will be "bought" right at the beginning ... and since then not yet many people are involved it doesn't really matter whether they are given directly to the first one interested or "auctioned off".
What about requiring that you pay a percentage of the current market value of the name.
So, once every year, the name is auctioned again. The current holder has to bid too.
The money from the auction is split between the "tax" and the previous owner.
5% to the network
95% to the previous owner
People submit sealed bids. To bid 100, you might pay 200 coins into submit bid for "somename" of hash(random number || "bid is 100"). This locks the 200 coins until after the auction is completed, but nobody knows how much you actually bid.
The bids are then checked and the winner pays the amount bid by the 2nd highest.
An auction might be
100 (owner's bid), 80, 50, 10, 2, 1, 1, 1
He only has to pay 80, since that is the 2nd highest bid.
The 80 bid is then split. The owner gets 76 and then network gets 4.
In effect, the owner only has to pay 4 to keep his domain (5% of market value).
If someone outbids him, then he gets 95% of what they pay (and 5% goes to the network).
If the owner doesn't bid, then his public key is paid 95% of what the winner gets, but the name goes to the next highest user.
If the tax is destroyed coins, then it counts as being paid to all coin holders. If it is paid to miners, it secures the network. A compromise might be to split it 50/50.