I have no really clue but maybe it’s possible in combination of the gamecenter or openfeint platform. Maybe you can read out the game list to see which games the user has player.
Maybe the people don’t want your other games. For example, there are things in Dead Space 2 that you can only experience by purchasing Dead Space Ignition, and playing enough of it to be able to save. The games are not similar, other than in the world in which they take place. I think the first time I experienced this phenomenon was with Metroid Prime, which had a similar pairing with the highly inferior Metroid Fusion.
This kind of greed-fueled business is garbage. Make the other games good enough that people will want to buy them (or download them for free, if you have an ad-based model) for their own merits.
I personally find it ok, so long as it’s fluff. Don’t unlock bonus levels, but a new skin or cosmetic change can be neat for people that have multiple of your games (or 2 sequel and previous).
As for the how, I think the most effective method would be to use an online database with registration/facebook ids/any other identifier.
Otherwise players with smaller capacity devices might remove your game once completed and won’t receive credit for owning it, or may have it on their iTunes account but not currently on that device.