.. is the parent directory, not the last directory visited.
Maybe make a function called cd that does pushd and directs the output to /dev/null. Unless I'm missing something, I think that does what you want. And then alias popd to whatever else, also throwing away output. Not sure about csh, but in sh:
death@two ~ % cd() {
> pushd $* >/dev/null
> }
death@two ~ % alias back='popd >/dev/null'
death@two ~ % cd /tmp
death@two /tmp % cd /etc
death@two /etc % back
death@two /tmp % back
death@two ~ %