I spent a few hours tonight trying to figure out how I could get my iPhone to sync my shared google calanders. Found a few sites and amoungts some of the suggestions where to set up a seperate icalc calendar account on the phone with the calander id as part of the server or using third paty apps, all of which didnt seem like a very good solution to me. It turned out after messing about for a while the solution could not be simpler. All I needed to do was vist http://m.google.com/sync on your iphone and select which calanders I would like to sync, job done.
Further instructions can be found here: http://www.google.com/support/mobile/bin/answer.py?answer=139206&ctx=sibling&topic=14252