Нет, невозможно "отменить определение" существующего класса.
В вашем случае у вас не должно быть нескольких классов с одинаковыми именами: у каждого класса должно быть свое / отличное имя, и вы должны изменить способ работы с ними, чтобы ваш код работал с классами, не названными ItemClass
.
Например, вы можете иметь:
ItemClass_Type1
в itemclass_type1.php
ItemClass_Type2
в itemclass_type2.php
и так далее - и все эти классы могут расширять один и тот же базовый класс, если это необходимо / если это имеет смысл.
(Некоторое время я думал, что, может быть, runkit может помочь с идеей "undefining a class"; но, похоже, функции для этого не существует - и это расширение не совсем стабильный и не должен использоваться на рабочем сервере)