Beside the fact, that this mechanism is far away from being stable (or well integrated), as described here (http://www.openacs.org/bugtracker/openacs/bug?bug%5fnumber=3128) , it is seems quite impossible to me to do this in a beautiful way.
One thing is, that every singleton package, which is automounted under the siteroot isnt usable inside such a "virtual host". Thus, you cannot, for example switch the language, because there is no sitenode http://vhost.example.com/acs-lang . Furthermore one cannot work around this by mounting the package twice.
This is only one example. There are lots of packages (categories, notifications, search,...) which are facing the same problems.
So what could be the solution to this problem? Convert every package to a non-singleton package for the next major release of openacs?
For many of the packages, that are singletons now it would make sense, IMHO. The search package could be modified to optionally search only "below" its "mount point parent site node". The categories package could be "subsites" and "dotlrn" aware, thus providing categories only to communities or subsites. And so on...