It wouldn't be my first choice ...
But you should be able to do this using the NO-NAT option in the MX in the 15.x code. Then create a VLAN per port, and assign a group policy to that VLAN.
Another option is to have a single VLAN, and use NO-NAT mode again, but put the entire public IPv4 subnet in that one VLAN.
Then make the clients use their own CPE. These CPE will show up individually as clients. Assign a group policy to each one with the appropriate traffic shapping.
I would probably make the default policy be something horrible like 64Kb/s, so a client can get plugged in, and then you assign the policy after that.