There are certain times of day that I don't want the iPhone to vibrate/ring to notify me of something, like when in a meeting. Is there a way to automatically set this? (setting a rule like "no notifications between 3 AM and 7 AM")
Unfortunately not. Your only flexibility here is the switch on the side of the phone. There is no "automatic" way. You can always ask Apple to implement it in the next Firmware and cross your fingers...
If you're jailbroken then you're looking for SBSchedule.
Switch to Airplane mode? Settings, Airplane, On. Email and txt messages will be picked up when you switch out of Airplane mode. Any alarms you've set will sound.
Go to settings > Do Not Disturb > turn scheduled off > if scheduled is on between the hours of 11pm and 5am and a caller has an emergency they would need to call twice in a three minute time frame then the second call will not be silenced. > turn repeated calls off to silence all calls.
If you use Boxcar for push notifications, you can use a feature it has called Quiet Time that automatically disables push notifications between certain times. With Quiet Time turned on, notifications are still sent to the phone, but the badge on the Boxcar icon just gets incremented by one -- you don't get a sound or vibration or anything.
As for push notifications from apps other than Boxcar, Marcin is right -- there's no automatic way to disable push notifications for a period and turn them back on.