One way around this is to configure a policy for each port.
Same idea as http://kb.juniper.net/InfoCenter/index?page=content&id=KB12959, but instead of different, subnets, it will be different port numbers.
Net result will be 1 phase1 SA. Then multiple phase2 SA's.
As Bob mentions, you can configure just one port per policy, otherwise the service portion of the proxy-id will change to 'any'.
Hope this helps.
Regards,
Sam