Do you need it specifically in ZIP format, or is any compression ok? If any is fine, i'd suggest also checking TCompressionStream and TDeCompressionStream.
Zip format might not be that simple... There should be a reason, why apps like Winzip have to decompress the whole file first, if they want to add more files to it, or maybe even if they only want to read 1 file from it. In short it could a complete mess, compared to clear structure you could make to your own file format. Those streams should pack as tight as ZIP anyway.