I have no idea where to start to do this. I wonder if gameMode in the definition has anything to do with this? For example, when I use matchmaking in MTG, I get various modes, but are those just...names, right? It's actually the players have to conform to the modes.
What I want to do is make various formats set based, for example Format1 includes only the first 12 sets, Format2 includes first 17 sets, and so on.
If it's not possible to implement this(which I think is the case), then what I want to do is 'help' the players conform to the modes, at least. By means of a card search parameter, for example.
Is there any way to add a parameter in the card search that has a drop-down list?(exactly like the Set parameter)
You're correct. There is no way to have different modes that include different cards.
For your second request, what you could do is add a custom card property that's called, "GameMode" as an example. Then they could filter in the deck editor by game mode.
the game modes were meant for the matchmaking feature, there wasn't any sort of deck verification system planned originally. The matchmaking never really caught on so most of that stuff was pretty much given up on.
I've thought about a deck verification system a few times before, its just really hard to make a system that's open-ended to support any type of game without diving into specifics. One thing you could do is create a custom property that just lists a card's legal formats, then have the players create a search filter to that property.