the completion system, all you need to do is type: cd +<Tab> and cycle through your past directories (you may need to set the auto_pushd option as well). See the "dirs" command, the auto_pushd option, the dirstack array, the pushd/popd commands in zsh manual.
Sorry to hijack, but is there a simple way to have a shared directory stack between several terminal sessions? I hacked together something that works, but I have a bad feeling that I reinvented the wheel (and never quite made it round).
Thanks. Bill Scott