こんな感じの事なら良くやるけどね。

(defun new-id () (let ((l '(0))) (setcar l (1+ (car l)))))
(new-id)
=> 1
(new-id)
=> 2
(new-id)
=> 3