What if, and hear me out, we had a client that allowed you to download games to an account the user has, and that games needed to be installed to this client, and that no one else could install the games that are registered to the user's account, as they are not that user. Then, the games each account would hold are stored on a server somewhere, so that the account could be activated from any system, and have the games available to play, but only for that user. The players would also keep their saves and achievements out on this area, and people could access it from any where they went.
Or, in other words, use steam, but give it a wider range.
This by no means says that you need to be constantly connected, but merely to log in once and be able to play the game, and are unable to play until you log in. You can use any copy of the game after it's registered to your account, and first person to use a code has that unique copy.