Você não pode usar um pipe se o segundo comando que você está executando não ler de sua entrada padrão. No entanto, você pode fazer algo como
cd $(which someapplication)
ou, desde que você precise de um nome de diretório para cd
e não um nome de executável:
cd $(dirname $(which someapplication))
O operador $(...)
shell executa o comando entre parênteses e substitui sua saída na linha de comando.