Каждый объект, хранящийся в ZODB, имеет уникальный идентификатор, доступный в виде атрибута _p_oid после регистрации объекта:
>>> obj._p_oid
Применяются обычные предостережения о первичных ключах - если вам нужен уникальный идентификатор, который вы можете продолжать использовать, даже если вам нужно экспортировать ваши объекты в другую базу данных, лучше использовать uuid, которым вы управляете сами. В Python есть модуль uuid (в stdlib начиная с Python 2.6), который может генерировать uuids.