how to forward dns alias to hostname:port?
Solution 1:
If you don't want to create another IP, then all you can do is install a reverse http proxy on the main IP and a name based virtual host to route the traffic using mod_proxy.
Here is how you can do it with apache, almost any http server can do it, other popular alternatives are squid, nginx, lighthttpd, etc.
Listen IP_ADDR:80
NameVirtualHost IP_ADDR:80
<VirtualHost IP_ADDR:80>
ServerName yourname.yourdomain
ProxyPass / http://localhost:10000/
ProxyPassReverse / http://localhost:10000/
</VirtualHost>
Solution 2:
DNS only maps hostnames to IP addresses, it knows nothing and can't do anything about ports.
A solution to your need could be using a NAT router/firewall to forward you'r public IP's port 80 to the internal server IP's port 10000.