I think pretty much any distribution allows you to do that, given enough effort. Such as creating a chroot environment and installing your own instances of your favourite package manager. Or just giving the right options to the package manager.
Although to make things easier you should at least have access to the usual development tools as a regular user, such as a C compiler, (auto)make, autotools etc.
In fact a source tarball release of most packages available can be installed in your home directory independently of the rest of the system by using "./configure --prefix=/home/example".
Debian's dpkg tool for example has options such as:
--admindir=dir
Change default administrative directory, which contains many files that give information about status of installed or uninstalled packages, etc. (Defaults to /var/lib/dpkg)
--instdir=dir
Change default installation directory which refers to the directory where packages are to be installed. instdir is also the directory passed to chroot(2) before running package's installation scripts, which means that the scripts see instdir
as a root directory. (Defaults to /)
--root=dir
Changing root changes instdir to dir and admindir to dir/var/lib/dpkg.
And Debian's installation process actually uses a mechanism like this, in short it boots from a ram disk and then creates some kind of chroot environment and packages in the new environment are installed using commands like:
in-target apt-get update
in-target apt-get install example
Is there anything specific you need to accomplish?