Before I get into the controls for changing the timing of automatic synchronization, I should note that we plan to modify the keychain code to look up the credentials once when you first synchronize, and use those credentials until you quit the app (similar to what Mail and iChat do), so hopefully the keychain prompt issue will go away soon. But in the meantime…
There are two hidden preferences which control the timing of automatic synchronization, MaximumTimeBetweenSync and TimeFromFirstEditToSync. Both are specified in seconds. MaximumTimeBetweenSync is how often OmniFocus looks for changes on the server when no changes have been made locally; it defaults to 3600 seconds (one hour). TimeFromFirstEditToSync is how soon OmniFocus will sync after you've made an edit, and it defaults to 60 seconds (one minute).
You can change these hidden settings by entering commands into a Terminal window, although the new value won't take effect until you quit and reopen OmniFocus. Here is the command you would use to change the MaximumTimeBetweenSync to approximately one year (31,536,000 seconds):
defaults write com.omnigroup.OmniFocus MaximumTimeBetweenSync -float 31536000
And here is the command to restore that value to its default setting:
defaults remove com.omnigroup.OmniFocus MaximumTimeBetweenSync
I should note that we impose a minimum period on both of those settings: you can't make TimeFromFirstEditToSync shorter than 2 seconds, and you can't make MaximumTimeBetweenSync shorter than 15 seconds.
Hope this helps!