Here's the basic outline of a lisp routine to do ths on the fly..
OK first make a block how you'd like the coordinates and elevation displayed. Lets say the plock consists of a POINT entity, and 2 attributes, one with coordinates and second with elevation;
x1, y1
Elevation
The lisp routine would have user select all points, then do a 'substitution', replaceing the point with a block with attributes. Here's some code, will need debugging, input from you/others. You'll also need to insert your chosen block name on one line (line 18), and change scale as desired.
(princ "\nType Placecoords to start")
(defun C

lacecoords ()
(setq BkScale 1);edit to change scale of block insert
(setvar "attdia" 0);suppress dialogue box for attributes
(princ "\nSelect points to replace")
(setq PointSet (ssget '((0 . "POINT"))))
(setq NumPoint (sslength PointSet))
(setq Count 0)
(repeat NumPoint
(setq ename (ssname PointSet Count)
(setq PtCoord (cdr (assoc 10 (entget ename)))
(setq XVal (car PtCoord) 2 2)
YVal (cadr PtCoord) 2 2)
ZVal (caddr PtCoord) 2 2)
)
(setq CoordTxt (strcat (rtos XVal 2 2) ", " (rtos YVal 2 2)))
(setq ElevTxt (rtos ZVal 2 2))
(command "._-insert" "YourBlockName" PtCoord BkScale 0 CoordTxt ElevTxt);;edit for block name
(entdel ename)
(setq Count (1+ Count))
);repeat
(setvar "attdia" 1)
(princ)
);end defun