Thats exactly how i used controlDat for displaying game info on a LCD screen.
It parses both controlDat.xml and mameinfo.xml, then goes through all the games you own, and for each checks if its in controlDat, and if it is creates a lcd file (just a text file) for that game display the controls, buttons and what each button does (Fire/Jump).
If its not in controlsDat, it uses mameinfo.xml to display control and number of buttons.
As far as i can see, that is way to get the most reliable info available.
I am sure the CP view programs (Johnny5? CPviewer?) do the same process for displaying CP layouts with correct controls. Probably better than my proggy too...

I dont think making such files is hard. You then need a program which will parse this txt file and send it to ledwhizz on game launch - so you could just get a frontend to do it for you. Of course, you still need clever programs (MikeQ's mame hopefully, or something with LSE in it?) to have really good stuff like flashing player start/in game light effects that I'm really hoping for....