We use different tricks to have Portals with different sort orders. In most of the cases, we need 1 individual Portal for each sort order and have all but one hidden by layering and 'HideObjectWhen' OR different Tabs with goto Object (Tab_sort_by_name / Tab_sort_by_INVC_Nr / …).
A way to avoid the need for many Portals for different sort orders could be either
1. script function
sort Portal [ ObjectName ; FieldName ; up/down]
2. Formula Editor('s) for the portal's sort options to specify parameters.
For the latter, there will be either 2 Formula Fields (FieldName / Direction) OR 1 Formula Field which allows to specify 2 Parameters separated by a delimiter ["$$Fieldname ; $$Direction"]