You can assign them static IPs in DHCP, then run your own DNS server that returns local IPs for those hosts.
Or bridge those VMs on your macbook so it's a flat network, then use Avahi for mDNS so they all have .locals.
Or bridge those VMs on your macbook so it's a flat network, then use Avahi for mDNS so they all have .locals.