How can I determine the coordinations of the deepest point of a pit located on a 3D object?
Local minima

Calculus is full of finding maxima and minima of equations.  Numerical methods , generally iterative, can be employed to find turning points based from  Newton's Method or Gradient Descent to name a couple.

Turning points occur where the derivative (tangent) is zero.  Inconveniently the mesh isn't defined as an equation.  For every vertex there is a normal, that is perpendicular to the tangent. 


Vertex selected in "ding" in icosphere test

As a simple test case, for each vertex:


Create an imaginary plane from coordinate and normal.
For all vertices of neighbouring faces if the distance to plane is greater than or equal to zero then it is "below" all neighbours and considered a local minimum
The test is looking at all neighbouring verts being above, for a really rough mesh this may need to be relaxed slightly.


Simple edit mode test script.

import bpy
import bmesh

from mathutils.geometry import distance_point_to_plane as dp2p
context = bpy.context
context.tool_settings.mesh_select_mode = (True, False, False)
ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
bm.select_flush(True)


for v in bm.verts:
    # define "vertex" plane
    p_no = v.normal
    p_co = v.co
    # neighbouring verts
    nvs = set(nv for f in v.link_faces for nv in f.verts)
    v.select = all(
            dp2p(nv.co,p_co,p_no) &lt;= 0 
            for nv in nvs)

bmesh.update_edit_mesh(me)



Result of reversal of test. dp2p(nv.co,p_co,p_no) &lt;= 0 as a useful way to find concavities

Once a point is selected its local depth (depth from surface) could be calculated (estimated) by selecting out from point until distance from plane stops increasing, and choose the max.

As mentioned this is a very simple test. Once a vicinity is known a more robust method like raycasting could be employed.