Was just playing with the thought that if you would assign each tenant an Orbeon "application", you may have a good foundation already.
If you make use of more than one eXist-db instance in the same JVM then we would like to hear about it