Every bit of text, down to the character level, can be treated as a Range; every text range has .BoundLeft, .BoundTop, .BoundHeight and .BoundWidth properties that return the coordinates of a rectangle that bounds the text range.
For example, this snippet will give you the left coordinate of the third text character in the currently selected shape:
With ActiveWindow.Selection.ShapeRange(1)
Debug.Print .TextFrame.TextRange.Characters(3, 1).BoundLeft
End With
Coordinates are returned in Points. It sounds like you already have a handle on converting screen coordinates to PPT coordinates.