I don't have CAD running at the weekend of course, and ssget might be slightly different in it's filters. The error is in the line (setq sel1 (ssget "_X" '((8 . (car item))))) I reckon:
'( means a list as it is written where (list means evaluate the following list, might be that you need to use that instead?
(8 . (car item)) might need to be cons to make up that dotted pair list, which makes a list and evaluates the parts in it
Something like this might work better?
(setq sel1 (ssget "_X" (list (cons 8 (CAR ITEM))) ))