No mention of ZSH directory stacks yet? http://www.acm.uiuc.edu/workshops/zsh/dir_stack.html
Some helpful aliases to manage them:
alias 1='cd -1'
alias 2='cd -2'
alias 3='cd -3'
alias 4='cd -4'
alias 5='cd -5'
alias 6='cd -6'
alias 7='cd -7'
alias d='dirs -v'
alias h='history'
alias j='jobs'
Just one of the many reasons to use ZSH.