The overall approach seems quite a sensible solution to the problem you face. The question is how best to make the pieces work together.
As others have said, for distributing the quiz definitions, Moodle backup format is probably the right way to go. There is they just a question how much you need to automate this. However, Moodle backup is quite easy to script from PHP. (If I had to do this, I would make a local plugin. On the central server, it would provide some web services to tell the satellite servers which exams to download, and the ability to download Moodle backups of those exams. On the statellite servers, it would call the central web services, download the relevant backups, and restore them. (there would need to be some configuration pages to control this.)
For getting the results back, this would be a bit more work, but possible. I can think of two general approaches:
- You could again use backup (this time with user data) to get the quiz attempts from the satellite. However, from Moodle's point of view the quiz on each satellite is a separate quiz, so if you restored them, the attempts would not be combined. You would have to write some custom restore code. Moodle backup and restore is very powerful, but this makes the code hard to understand.
- Therefore, it might just be easier to write a custom export of the quiz attempt data in any format that it is easy for you to work with, and then a custom import that replays the attempts into a single quiz on the central server. To do this, you would need to understand http://docs.moodle.org/dev/Overview_of_the_Moodle_question_engine#Detailed_data_about_an_attempt and https://docs.moodle.org/dev/Using_the_question_engine_from_module.
As an aside, for setting up exams in Moodle, we fould that the Single activity course format was very helpful.