It's possible, but not as part of a single ssget expression - you would need to construct a loop such as:
(defun c:test ( / s )
(while
(and (setq s (ssget '((0 . "CIRCLE,LWPOLYLINE"))))
(or (/= 3 (sslength s))
(vl-some '/=
'("CIRCLE" "CIRCLE" "LWPOLYLINE")
(acad_strlsort (mapcar '(lambda ( i ) (cdr (assoc 0 (entget (ssname s i))))) '(0 1 2)))
)
)
)
(princ "\nPlease select two circles and a polyline.")
)
(if s
(princ "\nThe user selected two circles and a polyline.")
(princ "\nThe user cancelled the selection.")
)
(princ)
)
Like Tharwat are you just hatching multiple plines, doing an inside parallel pline. or other options. What I am suggesting is the options may all be done already in lisp.
Ssget has multiple select filters that you can use and can be multiple of, such as layer, all or all in a particular space model / layout.