You could add a select
field for the “priority” of the pages and then use ->sortBy("priority", "desc")
.
Another option would be a structure
or list
field on the parent page that includes all the pages (updated by a hook) so you can use drag and drop to rearrange.
It’s very similar to my problem here which was solved similarly.