What I'm imagining is a command executed on a headline to insert a property into each of its children "fixing" the current order; something like ":sorted:01", ":sorted:02" etc. Ideally there would be a prompt for the property key (or part of it) so that there could be more than one such property for a particular headline, but with the option to simplify the usage and consistency by having just one property key as a default and no prompt.
One of my uses of org-mode is to list songs (Lieder) that I am currently working on, and I mark them up with special todo states and tags relating to my workflow - e.g. findscore, translate, memorise etc. I've also been known to add properties such as 1st line text (if different from title), poet, and pagenumber. While I'm dealing with a list of repertoire (there's a lot of bitty admin involved!) I've found it useful to sort alphabetically, by TODO state and by these properties, but I'd like to be able to retain the order in which the songs will be performed. I know I could manually add such a property to each headline myself but I'd really love to be able to quickly "fix" the order of my sorted headings by automating a ":sorted:" property. Another use I can imagine for this is when juggling an outline, one could "fix" an order that reads well, and then play around with it to see how it might flow better, knowing that it would be easy to return to the last preferred sort-order - like a rollback. During the last few weeks I would have made use of this not only when working on songs, but also when designing song programmes and writing my resumé.
If a sorted headline got moved to a new parent its sort-order might be a duplicate one of its siblings, but I don't really see that as a problem - the user knows it's "only text" after all. I don't know whether it might be desired to similarly fix the sort-order of 1st level headlines; perhaps the command could act per current file, with a < to narrow down to the current tree. I'm also not sure how to deal with larger numbers - 01-99 seems like a good default but could one have an option for 001-999? I also wonder about adding the property to more than one level at a time, but might that be a bit much in terms of affecting performance?