3, maybe 4 main approaches here, none of which will likely be the answers you want
1) You use a flash cart that can do it. Sadly not all will (many GB/GBC flash carts are made for homebrew/LSDJ and multi ROM loading is an afterthought).
2) Nightmare hack wherein you relocate all the data such that it would be like it was coded that way from the start*.
3) You get lucky and the games you want can be worked into a fancy memory bank controller (or custom one in the case of 1000 in 1 tourist trap games).
In case you were unfamiliar with memory bank controllers then the basic GB ROM is 32 kilobytes.http://bgb.bircd.org/pandocs.htm#memorybankcontrollers
As that is not much space then we have memory bank controllers that allow you to swap out the thing shown to the console (or a segment thereof), or include extra abilities.
Multi ROM outside of flash carts tends to only become something that is easy to do for any random selection of games you want when you get to CD based things or things with file systems rather than things that look for code in specific locations in a ROM, and even those can have quirks.
*which various homebrew coders do actually do to be compatible with things likehttps://web.archive.org/web/20150811030014/http://www.reinerziegler.de/readplus.htm#ReadPlus%20programming%20software%20and%20menuprogram
Same page also covers some things for home made flash carts (though I would look at a proper cart -- ezflash junior and various everdrives being good choices here, assuming you don't just emulate it on a GBA with a far more readily available GBA flash cart).