netbios can work across routers that do not forward broadcasts:
http://articles.techrepublic.com.com/51 ... 34239.html
In particular, from the referenced URL:
This is effective within a local network but is ineffective across routers, which do not forward broadcast packets. This means that the broadcast NetBIOS name resolution method does not work across routers. It can only be used for computers within the same IP subnet. Another problem with broadcast resolution is that it takes time from every computer. Finally, broadcast resolution requires that the packet be transmitted to every computer on a subnet. This can effectively eliminate the usefulness of a switch, which is designed to prevent computers from seeing traffic that is not destined for them. Since a broadcast is by definition destined for every computer on the subnet, it must be broadcast to every computer. As the amount of broadcast traffic increases, the switches tend to behave more like hubs—passing on every packet to every connected computer. The tendency to broadcast is one of the reasons that NetBIOS is not well liked in networking circles.
Note that that is not a mikrotik website, and they do not say "mikrotik routers", but just "routers".
It would be nice if there were a one-click enable broadcast forwarding button for those who feel they need it, but I think you will find it is not at the top of most people's wishlists, if its even on their wishlist at all.
You can assign more than one IP address to a bridge, or an ethernet, but unless you set up static leases, the dhcp server won't know what particular subnet it should hand to a client. And note that you would have the same problem if the router were forwarding broadcast packets. The DHCP request would appear in all the subnets that the broadcasts are being forwarded to, and whichever dhcp server was fastest in responding is the one the client will probably accept a response from. You could hope that this would be the "local" dhcp server, but there would be no guarantee.
You can use ip chains with the bridge; on the filters tab, you can do layer-2 firewall stuff (such as blocking ARP packets), for layer-3 firewalling between bridge ports you have to go into the bridge settings and check "use IP firewall". (in winbox, in bridge, on the bridge tab, there is a settings button). and then configure the IP firewall as normal.
Run the openVPN on the bridge, rather than on the individual ports. You can try running the DHCP server on the individual ports instead of on the bridge, but I suspect you won't get what you want.
Chat programs (at least ones that work across the internet) usually work by sending the chat packet to a central server, which then sends individual unicast packets to every client. There might be chat programs that can optimize if they see multiple clients in the same subnet, or were only intended to work in a broadcast domain.
It sounds like you are wanting clients on different ports to be in different subnets, but you otherwise want them to act like they are bridged together. Is there some reason they can't all just be in the same subnet?
Put another way, by using bridge, and assigning multiple IP addresses from different subnets to it, you are effectively doing the same thing as forwarding broadcast packets, if you add firewall rules to block packets originating from the "wrong subnets" from transiting the bridge.
I apologize if any of this sounds confrontational, I don't mean for it to.