All the objections associated with UNIVERSAL::isa($obj, $class) vs $obj->isa($class); come to mind. Why would you override object_id()? Its too early to say. Apparently we thought the same thing about isa() and can().
OTOH maybe someone might write their own object_id() method that does something different and you'll accidentally get that? Entirely possible, but turns out to be highly improbable. A Google Code Search there's only a handful of object_id() methods out there (I cut out BioPerl, Moco and Pogo because they artificially inflate the count).
Anyhow, this sort of feather ruffling is why UNIVERSAL::Object::ID is in its own package.
FWIW you can already call object_id($obj).