zsh(5。2)を使っています。
そこでless (/usr/bin/less less458) を使うと、どうやら
~/.zshenvをよむようです。

そしてたとえば~/.zshenvecho hiのようにあると
less hogehoge.txt
をおこなうとhogehoge.txtの中身に関わらず
hiが表示されるだけになります。

何がおかしいのでしょうか?

less はMANPAGERにしてあります。