I really thought this was possible by putting a : in front of the cheats you always want activated in the cheat file as shown in this thread
http://forum.arcadecontrols.com/index.php?topic=18170.0 but it only seems to work with the underclocking cheat. Maybe it works with some others as well, I guess you could give it a try.
Failing that and assuming no one else has the answer, I can think of a couple "hacky" style options:
1) Using the data in the cheat file, you should be able to use a hex editor to hack the rom to enable the cheats you want. This probably won't work with all cheats, but I think it could work with the hidden character type cheats you mentioned to make them always enabled. One drawback I can think of though is that when you try to run it, mame will complain that the checksum is incorrect or whatever, and you'll have to press a key to continue. This could be a problem with a front end, since the front end may keep the focus until the emulator runs, meaning you can't send a keypress to the command line, but you can't run the emulator until you send that keypress. I'm thinking you could change the checksums and such in the mame source code and compile it to get around this, but this is a lot of work if you have a large number of games you want to do this on, so it probably isn't worth the trouble.
2) An easier way I can think of is to enable the hidden characters and save the game state and then load it next time you play. I think that would work, but again it probably wouldn't work with other types of cheats. You could even compile mame to accept key presses from autohotkey (easy to do) and make the save/load messages invisible to make the effect seamless, ie. you start your game and the appropriate key presses are sent to load the save state and you automatically have your hidden characters enabled.
These probably aren't the kind of solutions you're hoping for, but they could work if there are no other options.