Opening Applications from the commandline

as you probably/may know, one can open any application from the
application folder with the command

open -a program_name

I found that out today and so I created aliases in .bash_profile and
they work.

alias safari="open -a safari"
alias gimp="open -a gimp"
alias seamonkey="open -a seamonkey"
alias firefox="open -a firefox"
alias sketch="open -a sketchbookpro"
alias mindnode="open -a MindNode\ Pro"

spaces have to be escaped, so far so good.
since I have two vms in virtualbox I wanted to add parameters to these
open commands but looking for that I found that there is a simpler
way.

alias linux="VBoxManage startvm gNewSense"
alias xpro="VBoxManage startvm XP\ Professional"

now this is really nice - starts the vm without opening the virtualbox
screen.
I have several iphoto libraries and up to now I doubleclicked the
librarie file to open it, not anymore
I can just append the respective path to the open command

alias bpics="open -a iphoto /Volumes/HD500/BlenderImages"
alias images="open -a iphoto /Volumes/HD500/Image\ Database"
alias photos="open -a iphoto /Volumes/HD500/iPhoto\ Library"

in emacs I have to source .bash_profile first for the aliases to work
in a shell buffer ...
This may all be trivial but I would love to hear about how you do
things on your mac to navigate between the candy apps and the
underlying unix. So anyone - feel free to comment or point out better
ways, pitfalls, consequences etc. thank you.