Certamente possível. Na verdade, criei um script pequeno que configura um ambiente virtual como você descreve (embora eu o use apenas como servidor, desenvolvo em minha máquina local). Eu coloco no Github se você estiver interessado:
Basicamente, o que você precisa fazer nas configurações do guest do Ubuntu é criar um segundo adaptador de rede e torná-lo "apenas host".
Então, no primeiro adaptador (que é NAT por padrão, você pode definir alguns redirecionamentos de porta. Eu configurei o meu assim:
Então, com isso, você pode configurar a hospedagem baseada em nome com o Apache. Se você adicionar o nome do seu site no hostfile do seu computador local, você pode acessá-lo com o url e portnumber da seguinte forma: yourwebsite.local: 8000 (no meu caso).
EDIT: Você pode definir suas pastas compartilhadas nesta tela: