Since 5.0 NetBSD supports changing the MAC address.

Add a link-layer address to an Ethernet:

# ifconfig sip0 link 00:11:22:33:44:55

Add and activate a link-layer address:

# ifconfig sip0 link 00:11:22:33:44:55 active

This should give some idea:

ifconfig bridge0 create
ifconfig bridge0 up
ifconfig vr0 up
brconfig bridge0 add vr0
ifconfig tap0 create
sysctl -w net.link.tap.tap0=00:00:de:ad:be:ef
ifconfig tap0 up
brconfig bridge0 add tap0

Now you can get an ip if from dhcp with the fake MAC:

dhclient tap0

See also