First choice would be some non-masqueraded packet routing from a friendly external server to change the destination ports and address but not the original source address.
Your dns serves up the external address.
You need to have a spoofing SNAT entry in your own POSTROUTING to say it originated from the friendly server or the connections won't route properly.
Second choice for me would be an http page on an external server (eg Geocities) serving redirects to your virtual names.
This means your dns supplies one numeric host address and the client browser adds the character paths, eg
http://66.218.77.68:/virtual/server which get redirected to the browser as
http://virtual.url.no:81/pages/to/view by the http page.
People can then Bookmark the final address.
Third and most complete choice would be to set up an external proxy with the redirects.
For the last two, it would mean you do the dns to supply the external server address, but have to play around with the paths you advertise to match the paths you can get on the external server.
(And if the proxy/redirect is external, it kinda follows that some of the webpages are too...)