Você está confuso $(…)com <(…). Você usou o primeiro, que passa a saída como argumentos para vimdiff. Por exemplo, se a última linha de /path/to/foocontiver bar bar bar, o seguinte comando
echo $(tail -1 /path/to/foo)
é equivalente a
echo bar bar bar
Em vez disso, você precisa usar <(…). Isso é chamado substituição de processo e passa a saída como um pseudo-arquivo para o vimdiffcomando. Portanto, use o seguinte.
vimdiff <(tail /tmp/cachain.pem) <(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)
Isso funciona no bash e no zsh, mas aparentemente não há como fazer a substituição do processo no tcsh.