You'd also have to express all the feature and dependency information. Some packages have a lot of compile flags, some of which may be mutually exclusive. Was this package compiled against, say, gnutls or openssl, if it supports either but not both at once? What if something in a package depending on it works only if it was compiled against openssl?
You can handle this by ensuring everything in the tree expects the same features (what most distros do) or recompiling the offending dependency with different switches if necessary (what Gentoo does). What you're describing here sounds like a variant DLL-hell recipe.