Well, I recall there are some simple package managers that can track software that is compiled from source and installed with "make install". With them you could also uninstall packages easily. This is not a good approach though, since it doesn't support dependencies and other advanced packaging concepts.
In general people rarely compile anything for Linux nowadays. Binary packages with good package tools like APT (used in Debian based distros) are much easier. If you insist on living on the edge, Gentoo or the BSD's are probably better because of their ports collections. With them you can compile almost always the most recent versions of any available software and let the system manage dependencies, installing and uninstalling.
So, either choose a binary distro that has a wide selection of recent packages managed by a good packaging system (Debian, Ubuntu) or use a source-based distro like Gentoo. Both are good choices and at least for me they are so much better and more flexible than any of the proprietary operating systems because all the programs are handled by the packaging system,
I use Debian unstable and I rarely need anything compiled from source. For example VLC 0.8.4 is directly installable from the official repositories. This is done simply by running "apt-get install vlc" or by selecting the package with a graphical tool like Synaptic. Upgrading is done automatically with a simple command "apt-get upgrade" and everything else is taken care for you.
The few packages whose development I track more closely, I have compiled and installed on top of previous versions without any problems so far. If you don't like the traditional Unix filesystem hierarchy, you could install each package in its own directory. This is usually done by giving a installation path prefix to the configure script (./configure --prefix=/opt/vlc). However, then some library paths may need to be separately added to LD_LIBRARY_PATH, or other tricks need to be used. If you are interested in this kind of packaging, see
Autopackage.