It should be possible, but not with regular tools available in the compositor.
There is a python function that convert a 3D position to screen space :
bpy_extras.object_utils.world_to_camera_view(bpy.context.scene, bpy.context.scene.camera , vec)
where vec is the position of your 3D object,
That should return the 2D position between 0 and 1 , that you need to multiply with the render size.
That should be possible to set a driver inside the compositor , it just can be more or less tricky depending on your python / driver skills.
Worse case scenario : one can make a python script that generate animation curves of a node if making the driver gets too complicated or impossible.
All that said, 3pointEdit solution is still quite simple and work without getting geeky.