How do I stop iCal from always asking for a password?

Solution 1:

Have you seen the following menu in Keychain Access app?

Open Keychain Access app (use spotlight!), select your login Keychain and in the Edit menu:

Edit

select 'Change Settings for Keychain “login”…’

This brings you the following screen:

Keychain Settings

If you have either of those, iCal will find the Keychain locked when it tries to sync.