My ipod touch synchronized well with google calendar. But I would like a "synchronize now" button, is there something like that?
It's possible that, for some reason, push can't go through. In those situations, your iPhone will fall back on the fetch schedule. Go to Settings->Mail, Contacts, Calendars->Fetch New Data and make sure that you select the most frequent Fetch, which is 15 minutes. It's certainly a far cry from the instantaneity of push, but you shouldn't have to wait more than 15 minutes for stuff to come through.
Also, you should check under Advanced just in case your schedule for your Google account was changed for some reason - it should be "Push".
Have you followed the instructions here? My understanding is that if you set up your google account for 'Push' then your calendars should be synced immediately as long as you have an internet connection at the time.