Hooking selected object to control point of Bezier curve via scripting
OK guys, I think I found the solution! Here: https://www.youtube.com/watch?v=ImWd1-FxhE4

In case the video becomes deleted in the future for some reason, here is the key to selecting the desired control point: (just an example)

bpy.data.curves['BezierCurve'].splines[0].bezier_points[0].select_control_point = True


So basically there is this boolean data member of the control points called select_control_point and you just have to set it to true.