Primary, it is how other packages will interoperate with dmd and gdc. Here are at least two possible ways:
1) When emerging, tell to the ebuild which compiler must be used. It can be done through use flags, but ebuild should decide by itself which compiler flags to use, etc.
2) Better, but harder way. Write helper eclass like toolchain-funcs, so ebuilds can access to system configuration and get paths and flags for current compiler.

I run Gentoo on all my linux boxes, and indeed it would be nice to have all of these projects in Portage. Perhaps something like an eselect module would be the ideal solution for different D compilers?

Also, not meaning to fan the fire here, but I don't believe this was a thread in which those that don't use Gentoo could pipe in and say how nice their non-Gentoo choice is (this comment directed at those who have done so).