You'll need to use the delegate method from UITabBarControllerDelegate:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
In that method, make your check to see which the user tried to select, by looking at the UITabBarController's selectedIndex. Alternatively, you can get a reference to the UITabBar itself and inspect its properties:
UITabBar* tabBar = [tabBarController.view viewWithKindOfClass:[UITabBar class]];
If you don't want the tab to be selectable, than fire your alert and assign an integer tabBarController.selectedIndex to change it away from this tab.
Caveat: as the poster above indicates, this is not a UI design practice consistent with other iPhone apps.