Do you think you could make a mods folder, with separate mods in it, for each save file? You have this mod running, and when you open a world with specific mods in the save file, it'll run (changeable in the config) all mods, in mods folder and save file, or just the ones in the save file, no more. So I could have Thermal Expansion in the mods folder, but based on which world I open, I could play with Tinkers' Construct, or Thaumcraft, for example. It probably would make loading Minecraft faster, but loading worlds slower. And I would suggest adding a config folder in the save file, for different configurations based on which worlds you load, as well as mods.
it's kinda impossible due to how forge works, but you could just create different game profiles and direct them to different locations (i.e. /.minecraft/profile1, /.minecraft/profile2 etc., while each profile has it's own mods and saves folder).
Again, you can't load mods at runtime, they have to be loaded during startup. If you wat to use different mods, you need to restart minecraft.
Just create multiple game profiles using a different directory each time, then you can have different mod for each profile. If you want to have different profiles ut use the same directory for saves, use MagicLauncher (but you'll still need to restart your game to change mods).
Ok. I have a solution: Load all mods st startup, but only enable certain mods per world.
This way, you can make separate worlds compatible, with different modpacks, somewhat like ATLauncher, within Minecraft, since ATLauncher's a pain to figure out and customize. The only thing would be to make sure mods are loaded independently, so conflicting mods won't error each other if they're supposed to load for different worlds, and then, startup time would be longer. I would definitely use this mod.