Oddly I found this info nowhere on the net. There's lots of advice to sync Google to iCal, but getting the iCal calendars already on your mac synced to Google ? Things become hugely complicated and mostly require 3rd party apps. When in fact it's relatively simple.
1) Sync Google to iCal. Google based calendars will appear underneath your desktop based calendars in the left hand bar of iCal. Google calendars are synced fine, but your desktop calendars are not, and that is the problem (for the moment).
2) Select (highlight) one of your desktop calendars. File - Export and save the file somewhere on your Mac.
3) In Google Calendar (on the internet, not in iCal), create a new calendar and give it the name of the desktop calendar you just exported.
4) In Google Calendar, choose Import and select the file you created on your Mac. Assign it to the new calendar you created in Google.
Bingo, the calendar now appears in Google under the same name as your desktop. It also reappears a few moments later in iCal (when iCal resyncs with Google) under the Google section in the left hand bar of iCal. BUT all the entries for that calendar now appear double in iCal, once for the desktop version and once for the Google version. So :
5) Deselect the desktop version (or remove it - you can always reimport the exported file if necessary)
6) Proceed the same way for the rest of your desktop based calendars.
You now have all your calendars both on Google and iCal (including all past events) and they will remain synced from now on. No third party app required. The only limitation I've seen so far is that you can't create calendar groups (to archive the calendars you no longer need, for example) in Google.