Your edited initial post is still missing key details, such as what you're using this "3proxy" thing for in the first place.
I will therefore make a wild-assed guess that you are attempting to give each PPPoE client a different view of the web, so that HTTP connections on port 80 go to a different server on the backend based on where it came in from. If that guess is wrong, you have only yourself to blame.
If you don't want us to guess, give us the details that avoid the need. If you can't give us
all the details, then at least give us enough that our guesses become sufficiently accurate as to be useful.
With that and your edited initial post in mind, I offer this alternative solution: use
destination NATting to transform connections from, for example, the virtual pppoe-123 network interface on TCP port 80 to the container's veth IP on TCP port 8000 + 123 = 8123. Then you configure 3proxy to listen on each of these 500 TCP ports, one for each PPPoE interface, along with what it connects to on the backend. Thus:
/ip firewall nat
add chain=dstnat action=dst-nat
in-interface=pppoe1 dst-port=80 protocol=tcp
to-address=172.17.0.2 to-port=8001
Step and repeat.