We need a _good_ solution for changing package names/categories etc. i.e. when name changes, portage should know it's still the same package that is installed, just another version etc.
I propose making category specifications completely optional in Portage2, and eventually phasing them out. This gives us a single namespace, simplifies the specification of dependencies, and eliminates this problem. Then the category directories become purely organizational in nature.
note: What I'm saying is to phase them out from the Portage2 internals, but keep the categories on disk (in /usr/portage) for convenience only. Because we *do* need them for organization, but I don't think we really need them to avoid namespace conflicts (ie. making x11-apps/foo unique from sys-apps/foo).
As karltk mentioned on -dev,we currently have a conflict with at least one package name, "aterm", occurring twice (once as the familiar x11 terminal, and another in dev-libs where it is a tree-handling library). My suggestion would be to rename the lib aterm to libaterm, but I do know that karltk is _not_ a fan of that idea.
This issue is resolved in Portage 2.0.26 with the new "global update" /usr/portage/profiles/updates/ dir that allows transparent migration of packages to new categories.