Currently we're forced to fixed '/metadata/*cache' inside of repo. I believe that it would be much better if it was possible to override the cache location in repos.conf. Even better if we were able to sync caches separately of the repo.
1. We can get a clear split between 'real data' and 'cache'. For example, we can put repos in /var/db and caches in /var/cache.
2. We can give cache to the user without polluting the VCS. For example, user can use gx86 from git with cache synced via rsync. Well, there is some risk of mis-sync but that's better than having no cache at all or storing duplicate data in VCS.
3. We can give something like cache-sync-uri = autogen://, as a nice & easy way of making portage automatically generate/update caches for repos that don't have any supplied. Without polluting the checkout.