Correct me if I'm wrong, my experience with modding DF is not extense.
When using mods we usually have to replace files, which usually implies copying the game and modding the copy.
Then, if you want to try another mod and keep your two chances, you have to copy both the original and the previously modded version and apply the mod to both; leaving you with four copies of the game and many decisions about the correct priority when overwriting files.
I suggest adding a menu option that let's you select which mods to use (which folders to look for the files first) and in which order or priority.
Internally, the game could simply have a list of folder locations to read in the list's order (like a routing table). And mods could simply be a folder with the mod name and the needed files in their usual subfolders.
For example:
-DF
--data
---etc.
--raw
---graphics
---objects
--MODS
---myMod
----data
-----etc.
----raw
-----graphics
-----objects
---anotherMod
----raw
-----graphics
---thirdMod
----raw
-----graphics
Once you had copied the mods on your MODS folder, you could open the game and select in which order they are to be applied. For example:
1 anotherMod
2 DFBase
3 myMod
4 {thirdMod not used}
Thus, whenever the game is looking for a file it starts by trying to find it in "thirdMod", then "anotherMod", then on the base folders and then in "myMod".
This change would not only allow a much faster switch between mods but also complex interactions between them, as we could say things like:
- "Load this mod before 'Orcs' and 'meltyStones'"
- "You're loading DigDeeper first and then Mayday when you should be doing the opposite. And remove Orcs from your stack, it's included in DD".
- "This mod comes in two submods: MacrobeastsA and MacrobeastsB. For optimal display, load MacrobeastA asap and leave MacrobeastsB as the last loaded mod".
- "Use this mod with a lower priority than your main graphics mod".