this is great too hear! I really love to have distributed version control included in the thoughts, I.e. git or mercurial.
an idea would be to have one repository holding one subrepository per page. it stores (at least part of) the history. an edit is then committed on top of it whole edits coming from the central site are a natural branch when you next time synchronize.
to edit the page (which is a text file on disk) anything can be used with varying level of comfort.
an example for such an implementation where an external unique reference is stored is when git or mercurial are used as clients to subversion. and that you address this unique reference as well is hularious :)
rupert.