If I understand correctly you have two separate servers on your LAN, both using the same protocol (like HTTP) and you want the router to send traffic based on the DNS name?
I don’t think that is possible. Moving one server or the other to use a different port on the WAN allows the router to NAT based on port number which is easy.
Or if you have multiple public IP addresses, NAT based on that is easy too.
Maybe there is a “level 7” filter that iptables can use to figure out the URL in a HTTP request inside of a TCP packet, but without that I don’t see any way do do this in the router.
It might be possible to setup a proxy server that forwards requests to one of your two LAN based servers based on the domain. But I haven’t worked with the Zeroshell proxy at all. Certainly not enough to know if that is possible. And it if is possible it would be very protocol specific. So if your needs are not for web serving but something else you could be totally out of luck.