In theory it is possible however you have some issues.
- it is randomly generated so it is not unique. Any number of objects (though unlikely) could have the same identity hash code.
- it is not a memory location, it doesn't change when moved from Eden, around the Survivors spaces or in tenured space.
- you need to find all the object roots to potentially find it.
If you can assume it is visible to a known object like a static collection, it should be easy to navigate via reflection.
BTW Once the 64-bit OpenJDK/Oracle JVM, the identity hash code is stored in the header from offset 1, this means you can read it, or even change it using sun.misc.Unsafe. ;)
BTW2 The 31-bit hashCode (not 32-bit) stored in the header is lazily set and is also used for biased locking. i.e. once you call Object.hashCode() or System.identityHashCode() you disable biased locking for the object.