Hi peardox,
Xzip can store any binary formats, including image files, but they would have to be briefly extracted to a temp location and then imported to GameMaker (the temp file could then be deleted).
A more straightforward way would be to use surfaces rather than sprites, then use the xzip_write function to store the image data directly within an archive. The xzip_read function can then fetch the image data without the need for extraction to a temp location first.
Both approaches have their pros and cons, so which is preferable simply depends on the demands of your project.