This rule will take care of packets coming in:
/ip firewall nat add action=dst-nat chain=dstnat comment=“” disabled=no dst-address=192.168.16.2 dst-port=6040-6045 protocol=tcp to-addresses=10.0.0.82 to-ports=6040-6045
/ip firewall nat add action=dst-nat chain=dstnat comment=“” disabled=no dst-address=192.168.16.2 dst-port=6040-6045 protocol=udp to-addresses=10.0.0.82 to-ports=6040-6045
Also make sure your these rule is high enough in the chain to catch the traffic.
Packets going out is a bit more unfamiliar to me because I have not setup any load balancing setups. The concept though is to setup routing marks to mark the traffic coming from 10.0.0.82:6040-6045 to use the gateway with 192.168.16.1 http://wiki.mikrotik.com/wiki/Load_Balancing_over_Multiple_Gateways
The rule I gave you is the the way I do all my port forwarding.
The added complication in your scenario is that packets may go back out to the internet using the wrong DSL line and not make it to it’s destination as expected. I believe you need to mark the packets coming from 10.0.0.82:6040-6045 with a routing mark to make sure they go out the correct DSL line.