I have been wanting to do this for a long time -- that is, sort to-dos first by calendars, then by due date, and then by priority. The pop-up menu at the top of the to-do list does not offer a way to do this. I've actually submitted feedback to Apple requesting this feature.
But there is a way to do so in the current version of iCal: Just cycle through each sort criterion in reverse order. So if you'd like to sort to-dos by calendar, by due date within calendar, and then by priority within same due date, here's how:
Choose "Sort by Priority" (iCal sorts by priority), then choose "Sort by Due Date" (iCal sorts by due date, maintaining the priority sorting within same dates), and finally choose "Sort by Calendar" (iCal sorts by calendars, maintaining the date and priority sorting within same calendars).
[robg adds: As far as I can tell, this feature isn't documented anywhere -- iCal's help only says "To automatically sort your To Do items by due date, calendar, priority, or name, choose an item from the pop-up menu next to the To Do heading at the top of the To Do list." I tested this with a number of phony to-do items, and it certainly seems to maintain the hierarchy as you change the sort order.]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20050824020303912