Haven't watched a video of the game (and don't want to guess which of the half dozen batman games on the megadrive that was) nor checked to see if someone has already looked at the game (would not be unheard of) at this point, probably should have but hey.
Simple way you can do in 5 minutes.
Get some cheats, figure out how they are encoded.
Get a savestate grabber and loader (this can be a simple auto button press script with anything that does that, autohotkey probably being the default choice, that fires off load and save every so often, or repeats a bit a few times, and has some cheats).
Now you can replay segments with various amounts of health, lives, ammo (if that is a thing in this) and whatever you like.
If you are playing this with friends then swap your own personal savestates too. Now you have a crude, but effective if the effort is put in, boss rush, challenge mode, random play mode and the like.
Going a bit more advanced then you could learn possibly to spawn enemies with cheats. Don't know what goes for this game though. Alternatively if they have health then you can possibly double it or fiddle with it to give them more or less. If you want and your emulator of choice has lua then you can go a bit further still and have it detect things in the game (though autohotkey might also have some abilities here) and fire savestates and cheats accordingly to make it even more seamless.
After this then yeah you get to play level editor which takes a little bit longer. How easy it will be to make levels longer I don't know (I would immediately worry about memory issues, though it could be one of those nice streaming games). Simple editing to change order and spawn locations is a different matter and is fairly basic ROM hacking, though not necessarily what people normally go in for first (they usually go for graphics and text) so you don't tend to see much of it.
Generally we find levels take one of the few approaches.
Layers. Here you will have the background/main level, the enemies and their locations and maybe a third for hazards, items or something similar. Two or three is most common but you can have many more.
Said layers will either be full bitmaps of the level (basically if every part is a tile then everything is accounted for) or some kind of coordinate system to say what it is and where in the level a given item appears. There are perks and downsides to both approaches so you never know until you look really, as a rough rule of thumb the simpler single screen or not much more stuff will be bitmap while long scrolling things will be coordinate but you never really know. I have seen mixed approaches as well (level layout is bitmap but pickups maybe not).
Figuring out what is what is always fun. Experiment on basic levels if you can rather than jumping in at the deep end. If there are differences between regions then that can help. Remember you can experiment (what does this value mean, what if I put three in a row...) rather than just analysing things.
You may also be able to find it in memory (it has to load it some time) so you can possibly use a cheat to edit things in real time and that makes thing a lot quicker to figure out. This also means be careful with savestates -- if the game has already loaded it into memory by the time you make the savestate then your carefully executed ROM edits might not show up. This usually just means take a save before you start the level/section you care about.
After figuring out what style of level the game uses I would usually make sure to figure out basic ledges, teleporters (game design term to mean things that, well, teleport you to the next room/stage or finish the stage, not necessarily an actual in game teleporter and might be a banal door or whatever as far as graphics are concerned) and then at least one example of enemies and pickups. You can fill in the rest from there.
How to find levels to begin with. I like elimination myself. Knock out whatever is graphics (look in a tile editor and press down a lot), whatever is text (relative search maybe) and whatever is music (harder but doable) and maybe what is binary (your emulator will tell you where it is running right now, though sometimes levels can be buried in it so it is not a sure fire thing) and you likely have very few things to poke with a stick (aka corrupt it or copy paste things around) to see what changes. Alternatively you can trace things back from the game itself.
Turning all this knowledge into a level editor someone can click on and see things (be it ASCII standins or full graphical editor) is a rather harder task but if you just want to tweak a few things for your personal use this is one of the occasions it actually makes sense to do real hacking work with a hex editor. If you know what a pickup looks like in the editor you can add more, remove it, put it to the end of the level, if you have enemy spawners then great you can put more in until you crash the game from having too many, you can possibly change it to be something else (not all enemies might be valid on all levels, but you can try and maybe have a few more mid bosses or something), if you know what the level layout looks like then you can mix up ledges a bit...
If you want to document what you have found, the basic format of things and locations in the game then do share with us -- reverse engineering level formats is not the hardest thing in the world but with so few basic approaches to it all someone might be able to twist an existing level editor for something else towards this and already having the groundwork done does change things.