No Linux, você pode usar a opção - @:
-@ file lists. If a file list is specified as -@ [Not on MacOS], zip takes the list of input files from standard input instead of from the command line. For example,
zip -@ foo
will store the files listed one per line on stdin in foo.zip.
Então, no seu caso, você deve ser capaz de fazer:
cat diff-files.txt | zip -@ diffedfiles.zip