as far as i know, there's no way of playing zipped gba roms etc. directly.
If someone is bored and has some developing skills, I'd like to see this feature for both native and linux environments.
For the native environment, a new file extension could be used for regular zip files, this extension would call up a pseudo emu, and this pseudo emu would then extract the file to a temporary directory and call the right emu depending on the extension of the file inside the zip. The emu that would be called per extension, should be specified in a configuration file.
For the dingux environment the same could be applied, but even a shell script would do this job I think in combination with dmenu or whichever menu is used.
Or perhaps it is even possible to implement a compressed file system like jffs2/cramfs etc.? This way the file system could be used to the maximum capacity.