1) Нужен цикл из запуска vm и уничтожения, типа
while [ true ]; do
bhyve --create/run ...
bhyvectl --destroy ..
done
Готовыъ скриптов навалом: /usr/share/examples/bhyve/vmrun.sh , iohyve, vmrc и тд. Я тоже самое реализовывал в своей CBSD.
2) Да, каждой vm по персональному tap