(1) No, there is no way to do that automatically. The hero approach shouldn't be that expensive, though — after all, it shouldn't be required to run it too often, or for a huge number of players.
(2) No, that's not possible either, I'm afraid. We were actually looking for the same thing to saveguard ourselves, but the AppEngine didn't offer something like that.
(3) You mean you want a leaderboard where each name is allowed only once? You'd need to that manually via the Entity system. (3b) The reasoning was to make it easy for devices used by multiple players (e.g. siblings) to compete.
(4) Yes, although I'd only use it as a first step, i.e. to know what to display to the player, and then still use the App Store API to restore the purchase. That way, a hacker has to overcome two restrictions to manipulate your logic.
I hope that helps!