How can I show multiple Google calendars in iPhone's calendar app?
There is an easy but non-obvious way to do this.

Assuming you've got Google sync set up, and you can see your one Google Calendar on your phone already, go to https://www.google.com/calendar/syncselect (it needs the www; it doesn't have to be on your iPhone). You'll see a list of devices you're syncing. Select your iPhone.

On the next screen, you can choose which of your Google Calendars you want to sync with your iPhone. Check the box next to the desired calendars, then hit Done or Save or whatever it says at the bottom. 

Open iCal on your iPhone, and give it a while to sync, and you now should see all of your selected Google Calendars on your iPhone.

For some reason, you can't change the colors of the calendars on the iPhone, so I change the colors in Google Calendar to match what the iPhone picks. 

There used to be a limit of 5 Google Calendars that you could sync to the phone, but they recently raised the limit to 25.

These same instructions apply to the iPad and iPod touch. I've got this set up on all my devices, and it works like a charm.

This is documented by Google here: http://www.google.com/support/mobile/bin/answer.py?answer=139206