Multiple trunks from same provider: Is this possable?

I guess the question is, how can FreePBX/Asterisk be made to distinguish between two trunks from the same provider, originating on the same IP/Port, where the provider specifies the DID in the INVITE.

Is it possible to bind per trunk to different IP adresses/ports on the box? I seem to be seeing that Asterisk can’t bind per trunk?

Assume the provider isn’t going to change their addressing scheme, is there another way to go about it?

FYI: I’m looking to distinguish trunks in order to send them into different contexts. I DO NOT want to sort this out in the dial plan!

IS there a proxy that can sit in the middle and make both sides happy? At least that way I could handle the rewriting, but that seems like it would get ugly.