There is not a built-in way to do this in FileMaker.
One way to do this would be to sort your portal by an unstored calculation field (which will make the sort slower). You would create this unstored calculation in your related table (i.e. the "Contacts" table). This unstored calculation field would be based on a global field that your users would select for how they want to sort the portal.
Another way to do this (which would result in faster sorts, but requires much more layout maintenance) would be to copy and paste the exact same portal multiple times on your layout, each portal sorted by a different criteria. Then, you could either hide the portal that you don't want to see, or put each portal on a different tab control or slide control.
You can always have a Tab and on each tab have the portal with different sorting, so when you click on a label above Last Name you go the the Tab where you have sorted your Contacts on Last Name
Check out this series of article on FileMaker Hacks, I have used this method in the past for something similar and it works very well.
Hope this helps
Rather than using tabs, you could place the two portals directly over each other, with conditional hiding applied to each according to the sort. To effect this, I think you'd probably need a global field in which you specify the sort you want, and then hide the portals according to the content of that field.
Part 2 of this "Filemakerhacks" thread was perfect and worked perfectly for my solution, it was way over my ability to start with but is very well explained .