Right now, layman stores all clone/checkout data in the overlay tree. This has two disadvantages. Firstly, operations on VCS internal data pollute the filesystem thus making Portage operations slower. Secondly, if one has a quite small filesystem for it, git will quickly fill it.
It would be great if it were possible for layman to use separate directory for VCS internal data, and other one for the checkout. For example, in git this could be done with GIT_DIR envvar or --git-dir= option.
I guess this could be easily enabled per-user using git_addopts if it supported a placeholder for repository name.