I implemented something like this before as an XControl.
It used an XY-graph and allowed the user to select an area. Every time either the selection area changed or the chart data changed the user received an event with the selected data in it.
If I can find it and I'm in a good mood, I'll post it.
Shane.