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.