1) В составе FPC есть модуль Zipper (source/packages/paszlib/src/zipper.pp), он работает только с файлами на диске, плюс файлы в архиве будут называться только так же, как и на диске.
2) Есть
http://wiki.lazarus.freepascal.org/ZipFile, он более гибкий, но поддерживает только zip-архивы без сжатия.
Сам с ними не работал, поэтому это всё что я могу о них сказать.