About your question, it mainly depends if the developers are located in the same LAN as the database server. If this is the case, then they can run their VM on their local machine. Otherwise (e.g. working with freelancers, home office...), you'll need a dedicated headless server (meaning with no GUI like regular Virtual Box or VMWare player) hosting the VMs. You can do that with Virtual Box thanks to VBoxHeadless (look "headless" in the manual), or with VMWare ESX.
I'm also looking for a best-practice on how to structure the var-dirs.
We now have all of the var-dir centralized, but that can cause problems with the cache when on different environments. (INI- and template-cache, etc). site.ini says that CacheDir can be set to an absolute path, and then it supposedly won't be appended after the var-dir.
The problem was sharing the cache-part of the var-dir between environments. Then you could suddenly get cache from integration or other developers when developing.
But it seems that setting the CacheDir to a local absolute path did the trick.