Actually there IS a controls.dat for one or two other emulators. I think I did one for Daphne.
There are some very very good reasons why though.
1. Controls.dat displays the labels on the control panel... this automatically negates the idea of making controls.dats for consoles, that is unless you want the label for every single game on the console to be "A,B,X,Y"

2. Most non-mame emulators support games that are also in mame. Just run your viewer with the mame romname as if it were a mame game and you'll get your entry!
3. Controls.dat is based around the idea that labels are linked to "real" controls, which are linked to mame control constants, which can be compared to a mame game's control settings, giving you a set of labels for your individual control panel layout as you have the controls mapped, not just a generic one. When we start looking at other emulators they don't use the same control constants, or worse yet they don't have any constants at all, meaning you have to do some sort of lookup table to convert the mame constants into the specific emulators constants. It's just a lot of work.
I hope that clears some things up.
p.s. Just for the record, it would be absolutely possible to do a controls.dat for mess as it's an offshoot of mame. The thing you've got to remember though is that mess treats each game system like mame would treat a rom, so you would have a single entry for all snes games... one for the 2600 ect...