Here is a crude preliminary version of what Szabolics hinted at:
CursorPlot[f_] := Module[{plot, max,},
plot = Plot[f[x], {x, -2 Pi, 2 Pi}];
(*calculate max bounds*)
max = 1.1 Max@Abs@Flatten@
(PlotRange /. AbsoluteOptions[plot]);
Show[
Plot[f[x], {x, -2 Pi, 2 Pi}],
Graphics[Dynamic[Module[
{x = (MousePosition["Graphics"] /. None -> {0, 0})[[1]]},
{Gray,
Line[{{x, -max}, {x, max}}],
Line[{{-max, f[x]}, {max, f[x]}}],
Black,
Text["O", {x, f[x]}],
Text[StringJoin[ToString /@ {
"\n\n\t\t\t(", x, ", ", f[x], ")"}], {x, f[x]}]}
]]]]];
CursorPlot[Sin[#] &]
There's better ways to do a lot of what's here but this will at least give you a few ideas. Mainly it is the usage of Show in combination with Dynamic and MousePosition["Graphics"]. As always, it's a good idea to F1 any symbol/function you're unfamiliar with.