Once the stages are defined in the design time, you cannot reorder them from run time. However you can choose to jump between one stage to another based on the requirements using pxChangeStage API or FA as Raghu mentioned.
Is it not possible with any tweak/customization like modifying the declare page that will load the stages or is this is not at all recommended approach ? Please note this is a complete STP and stages are divided with related tasks and completely independet with other stages.
Stages are meant to show the life cycle of a case and the steps it goes through. The stages can be fulfilled based on the available information and a case can move back and forth between stages. Stages are loaded from the case type rule and it governs the stages gadet in runtime.
What exactly you mean by reorder the stages? You want to jump between stages and want the stages gadget on a case to reflect that?
I think Irrespective of the order the stages are performed the stages gadget will always show the order as shown in the design time.
This is a complete STP Automation process and there won't be any assignments(no UI) in the flow and the sequence of stages can be reordered by the Business User that should take effect from next case onwards
As you mentioned that the stage process is STP and no assignments in any of the flow, so what is the need of reordering the stage sequence if you define any stage to enter based on when condition it would execute that stage or skip and next stage would be performed.
If the business user wants to reorder the current stages it would effect from next case, you need to think of existing cases as well if you remove any stage.