Low tech solution: name your pages something like "1 First", "2 Second", etc. (Yes, you can put spaces in the page names.) This convention will get them ordered properly, though the digits do look kind of goofy.
And before you ask, there is no way to specify a page ordering in the *-object.xml file.
It is possible to do that now in 2.6 using a special property "order" but I am going to add a way to declare it in a typed manner like how window are ordered.
We had the same requirement for portal 2.4, solved this by introducing a new "declaredProperty" on the page object. The name of the declaredProperty was already defined as ThemeConstants.PORTAL_PROP_ORDER ("theme.order").
In addition you need to provide your own navigation portlet(s), which evaluate the introduced declared property.