Following on from Lee's suggestion this is a roughy answer, it does depend on the end picked for +- y . You may need to look at what osnap settings need to be set no real dwg to test. Tested on lines. If picking plines must exit and redo as it depends on segment picked. Enter Enter not that hard.
; point at x y offset from line by AlanH Feb 2021
(defun c:test ( / pt xy )
(command "UCS" "World")
(setq xy (list (getreal "\nEnter x ") (getreal "\nEnter Y ")))
(while (setq pt (getpoint "\nSpecify point: Enter to exit "))
(setq pt (list (car pt)(cadr pt) 0.0))
(command "UCS" "OB" pt)
(command "UCS" "Origin" (trans (list (car pt)(cadr pt) 0.0) 0 1))
(command "POINT" xy)
(command "UCS" "World")
)
(princ)
)
[code]