It would work kinda like how the Speed Karts gamemode works. You can use a command to list different builds and can load one. Perhaps every time you ran the gamemode it could load some kind of "hub" build to keep you contained and perhaps even load a small build per campaign, which will run when you select something in the gamemode? And I think something can be rigged to allow the campaign to run add-ons and to run scripts.
Like the speedkart gamemode it will run stuff contained in a .zip folder with the prefix "campaign_".
Could this be done?