Is marking and labelling topo points possible?
First, enter edit mode on your surface object, select the point you want to and assign them to a new vertex group via CtrlG.

Create your Circle object. Give him a Child Of constraint, set your topo as the target, and specify the vertex group you just created as well.
You can also add a Track To constraint, with your camera as target, "To" on Z and "Up" as Y, so that your circle always faces your camera.

For the arrow, I think it should do with the Hook Modifier. I never use this one so I'm guessing in the dark here, Bu I guess you need to create a vertex group with the vertices you need to stick on the circle, then add the hook modifier on the arrow object, set the circle as target and specify your point's vertex group.