Isso acontece porque as variáveis do shell não são expandidas entre aspas simples. Use aspas duplas, assim:
fname=testfile.txt
lsof | awk "/deleted/&&/$fname/ {print \}"
Como alternativa, você pode passá-lo como uma variável para awk em invocação usando a opção -v
.