That sounds nice except that your local clone of the Orchard repository probably won't know not to treat your modules separately from itself. Additionally, working with your modules' repository would have to be done in the original directory, rather
than from the hard links.
One thing I was thinking was that it would be nice if Orchard would source modules not directly from subdirectories of Modules/ but rather from any arbitrary number of subdirectories off of Modules/
(standard modules that come with orchard, such as Orchard.Blogs, Orchard.jQuery)
(modules released by company A)
(modules released by company B)
and so on
That way, we would be able to root our repositories at the "CompanyA" level, and Mercurial would be able to know not to go any further. Orchard just needs to know to look one level deeper but still to copy the resulting module DLL file to the same
output directory as it does right now.
Themes/ could take the same structure too.