I see what you mean now. This will start you in the right direction, but as far as doing exactly what you are after, I have to leave that to the real programmers.
(setq PN (getstring "Enter plot number"))
(setq SS (ssget "_X" (list (cons 1 PN)'(0 . "TEXT")'(8 . "PLOT_NO") )))
(setq COUNTER 0)
(while (setq TEXTENT (ssname SS COUNTER))
(setq DATA (entget TEXTENT)
LOCATION (assoc 10 DATA)
COUNTER (1+ COUNTER)
)
)
)
LOCATION is your text insertion point. Data is your entity data for that text.
I think better programming would be to use an entity selection rather than a selection set, but if you never have two entities with the same text value, the above will work.
It isn't impossible to find the boundary polyline from the text insertion point, but it is very hard. If you can just get away with drawing an overlaying polyline, you can use the BOUNDARY command from here and draw a new blue polyline over the existing one. Just having the text insertion point is enough to get you there. You could entmod the text so that it is blue, (setvar "CECOLOR" "BLUE") draw the circle through lisp, and use something like this (command "_BOUNDARY" LOCATION).
That would work, but it is not very professional - I'm not isolating variables in the example, no error trapping - it's just a concept.
HTH
Ron
ADN CAD Developer/Operator