Respondendo estritamente à sua pergunta: sim, você pode, mas não funciona.
shopt -s extglob
ls -l ../src/*!(_tst).f90
O problema é que !(...) ficará feliz em corresponder a uma string vazia, portanto, qualquer nome de arquivo foo_tst.f90 terá apenas o * engolindo os sete primeiros caracteres.
Eu não conheço uma maneira básica de fazer isso sem usar o find (1).
No zsh:
setopt extended_glob
ls -ld ../src/*.f90~*_tst.f90
Isso usa o recurso ~ extended_glob, em que A~B resulta em algo correspondente a A que não corresponde a B .