The only thing I know of that keeps track of the node order and when it's changed is Staging. You could create a custom event handler to create a new version or write a record to a custom table possibly when the order is changed for your specific doc/page types.
Only issue with this is if you move one document, it will create two records if not more, depending on how many records you moved up or down.