Since these are slot names, you can use slot-value
:
(dolist (a '(letter number font color height))
(when (eq (slot-value (current-trial *exp*) a)
(slot-value (previous *exp*) a))
(setf (slot-value (current-trial *exp*) a)
(random-not-item
(slot-value (current-trial *exp*) a)
(slot-value *exp* a)))))