Is the bitcoin address a SHA-1 hash of the public key? or perhaps some other 160 bit hash? and why is it a 34 character string instead of say the more common 32 char 5 bit representation?
It's a RIPEMD-160 hash of the SHA-256 hash of the public key. It also contains version information and a check code.