Tip: cdpath - Am I the last to know?
This one is just so simple, I can't believe I didn't know about it earlier.
First, setup the cdpath or CDPATH variable:
cdpath=(~ ~/Projects/apps ~/Projects/tools ~/Projects/plugins ~/Projects/sites)
Now, changing directory in the shell becomes a whole world easier:
tomw@fellini:~$ cd super-secret-app
~/Projects/apps/super-secret-app
tomw@fellini:~/Projects/apps/super-secret-app$ cd Documents
~/Documents
tomw@fellini:~/Documents$ cd tomafro.net
~/Projects/sites/tomafro.net
tomw@fellini:~/Projects/sites/tomafro.net $
I've already added this to my dotfiles.