A maneira que eu era capaz de passar arquivos zpaq não compactados através do stdout típico era fazer um pipe nomeado fifo e descomprimir aquele fifo em um processo e depois ler o fifo em outro processo.
Por exemplo:
$ mkfifo data_logfile
$ zpaq x logfile -force -to data_ &
$ grep searchTeXt data_logfile > grep_results.txt