http://www.mameworld.net/easyemu/mamew32setup.htmTake a look at the *** Frontend Related *** switches available, these are the most important thing for a FE. Pay particular attention to -listinfo (or now -listxml), as you can get all the information about all games you want from that.
i) Use a simple (or not-so simple) database type system, where each bit of info you want available is a different field. Selecting game no. x simply reads record no. x.
ii) Displaying a screenshot is easy, just search the image/artwork path for a file named the same as the currently selected rom (bar extension). eg if PuckMan (puckman) is selected, look for puckman.png. (Probably) the only tricky thing about this, is displaying PNG's (they require decoding).
DAT files are a good thing to use, as they can be obtained/produced for all emulators, so it can give you something consistent as a basis for list generation etc.
I could go on all day as your question was pretty open ended, but I have an appointment with beer
