You can connect a second display only over the GPIO - something similar to this setup should get your 2 independent displays - one for normal gaming via HDMI and a 2nd one over the connected over SPI (GPIO pins).
The 2nd display can be used for showing the images (via fbi) or even videos (via omxplayer).
You don't really need a ton of custom video modes, since the resolution stays the same, and you only have seven or so different refresh rates at maximum to deal with. Two config lines like "lcd_native_res=1920x1080" and "lcd_range=50-60" or whatever the monitor supports would cover it.
on groovymame, sure, but raspberry pi only understands discreet videomodes. you have to tell it when you want to use a new videomode. in retropie, using the runcommand, you would have to add each videomode to the list, and when selected they would have to call the api command i linked above (since these aren't videomodes in the raspberry pi's limited list of videomodes)
I'm afraid that the whole 'snap to the closest available refresh rate once the native ROM refresh is detected' part is best handled by the emulator itself, as well.
agreed, but for that to happen someone woudl have to update CRT switchres (or something similar) in retroarch such that it can communicate with the pi's custom videocore API calls (see the link above).