Why doesn't iOS 4 have any apps to match Locale on Android?
While iOS doesn't support generic background tasks (i.e. doing whatever you want in the background), it does support taking some action when a user enters certain geographical bounds, so it seems like this could technically be possible when moving from work to home or elsewhere.

My guess is that it is because iOS is very restrictive about what an app can change about the phone interface. You mention changing the default calendar configuration, which an application cannot do currently with public APIs. Apps are mostly restricted to changing their own settings or firing their own events rather than having access to other apps on the phone.

Could this change in the future? Sure, if Apple adds more public APIs to change various system or app options. But it seems unlikely considering their interest in a consistent user experience.