The HTTP proxy mechanism is designed for users accessing the Internet. But maybe it could be configured to proxy Internet requests to local servers. Those servers would/could have different IP addresses based on the DNS results seen on the router.
So assuming that the Zeroshell DNS server is only for local use (does not handle requests from the Internet for public addresses) you could have it do the mapping. Something like:
http://www.example.com -> 192.168.1.100
xxx.example.com -> 192.168.1.200
So requests handled by the proxy server for http://www.example.com would have the data retrieved from 192.168.1.100 while requests for data from xxx.example.com would have data retrieved from 192.168.1.200.
If you are doing things with SSL/TLS then it probably won’t work as you will have a “man in the middle” setup which HTTPS should rightly complain about. But for plain old HTTP it might be made to work. And if it works for two servers it ought to work for more.
But as I posted earlier, I haven’t worked with the proxy server so I am not sure if it could be setup that way.