I found a solution to the "Sync Now disabled" problem when enabling Google sync in Address Book. By default, the sync client for Google is an "app client", which means it requires some other address book to run (MobileMe,Yahoo,Exchange or an iPod contact sync) to run.
To enable Google sync client to operate as a full sync client, one has to change the client type from "app" to "server". This will enable the "Sync now" button even when Yahoo sync is not selected, and will make sure Google sync is run every time a sync is run.
To change the Google sync client type, open a terminal window and type (one line)
sudo defaults write /System/Library/PrivateFrameworks/GoogleContactSync.framework/Resources/ClientDescription Type 'server'
Then type the following one line command to restore the permissions on the plist file:
sudo chmod 644 /System/Library/PrivateFrameworks/GoogleContactSync.framework/Resources/ClientDescription.plist
You can now go in Address Book's preferences and enable Google contacts sync, without needing to enable Yahoo sync or plug an iPod for sync to work.