For tasks and events in iCal,
MenuCalendarClock is a good place to start (note, there is also a version that integrates with Entourage if you use it). Shareware.
Alternatively, there is the
iCal Events widget for Dashboard which will show you events for up to the next two weeks. Freeware.
Growl is probably another option, but I have no experience using it so I don't know for sure. Freeware.
However, if you are truly serious about getting things done on schedule, you need a dedicated GTD app such as
OmniFocus or
Things, both of which have iPhone clients that synch back to the Desktop apps. Both are Commercial apps.
Personally, I use OmniFocus which is a fantastic app. I tried Things a while back, but found it too limiting at the time (it might have improved since then as this was about a year ago). From what I have read of the two apps, I believe the OmniFocus iPhone app is better than that of Things - it has more robust (and more) synching options for starters. However, if you don't mind only being able to synch when you are near your Wi-Fi network, Things would probably work fine.