You are right pt works when only 1 object, the way around is to use a "F" option crossing so work out a UR and LL pts plus your filter.
(setq pt1 (mapcar '+ pt (list 1 1 0.0)))
(setq pt2 (mapcar '+ pt (list -1 -1 0.0)))
(setq ent (ssname (ssget "F" (list pt1 pt2) '((8 . "DEFAULT"))) 0))