1. I don't see a reason for Steam to be installed per-user. (First, the client ought to be a standard binary/assets that can be shared between users. Second, the games should too, though I know games currently are per-Steam-user in Windows anyway so I understand that game installs would be installed per-User, but that can easily be done by a globally installed Steam executable).
2. I'm pretty sure path prefixes can be used and the same set of pkg management tools can be used to install in user land. I've done it in the past into an env I was chrooting and minifying to power a picture frame.
path prefixes only generally apply to ./configure scripts when you are generating makefiles.
As paths to libs and stuff are hardcoded as part of the ELF spec, it becomes difficult to implement something like this and ive not seen a package manager that can do it.
theoreticly you could work around the library/datafile issues with LD_PRELOAD hacks to make it load stuff from your home directory instead, but thats pretty awful.