It's not impossible, I think. If you can retrieve information on each annotation of a given type, you can get a list of the rectangles applicable.
Then you can use PDPageGetNthWords to iterate each word the page. See which word rectangles are within annotation rectangles of the given type, and you have an answer for the page.
This may seem convoluted, but annotations are not in any sense applied to words, they just appear to be because rectangles coincide.