Are you looking for something like this?
Code:
(defun c:LFR (/ CLayer$ EntList@ EntName^ Layer$)
(setq CLayer$ (getvar "CLAYER"))
(princ "\nSelect object on layer to freeze")
(if (setq EntName^ (car (entsel)))
(progn
(setq EntList@ (entget EntName^))
(setq Layer$ (cdr (assoc 8 EntList@)))
(if (and (= Layer$ CLayer$)(/= Layer$ "0"))
(command ".LAYER" "T" "0" "U" "0" "ON" "0" "S" "0" "")
);if
(if (= Layer$ "0")
(princ "\nCannot freeze layer 0.")
(command ".LAYER" "F" Layer$ "")
);if
);progn
);if
(princ)
);defun c:LFR