Thanks for the update, and good luck with your GSoC project! :)
You are storing structured data in wiki pages and might be interested in
having a look at two alternate approaches which could be of use to you:
* The ContentHandler  stuff being written for the Wikidata project .
This basically allows for storing stuff different then wikitext (for
example a blob of JSON) into wiki pages, have matching (view, edit, diff,
ect) interfaces for those and also have secondary storage to easily query
the data contained in the blobs. Daniel is currently working on getting
this into core, so you can't use it just yet (but we're hoping to have it
into MW 1.20).
* I had a very similar need to store structured data for wiki pages when
writing the Education Program  extension and decided to sidestep the
page table altogether and store everything in relational format right away
(a page basically corresponding to a row in a database table). The neat
thing about this is that it requires no changes in core MediaWiki, but this
also means that I had to create my own generic diff/undo/history, ect
handlers. You can see examples of this here  (although you need
adittional rights to see the editing/undo/rollback interfaces).
Jeroen De Dauw
Don't panic. Don't be evil.