Тогда я вобще не понимаю смысла - описывать еще раз абсолютно такой же класс, но с другим именем....
Может все таки проще:
$GLOBAL['module1']['a'] = new SomeClass();
$a = $GLOBAL['module1']['a'];
isset($GLOBAL['module1']['a']);
unset($GLOBAL['module1']['a']);
$GLOBAL['module2']['a'] = new SomeClass();
........... ?
Или я все таки чего-то не понимаю?