Ooops. I thought you wanted to find duplicate files. Don't ask why. I don't know. All right then.
You can use the stat command as you mentioned in your original post. The following example shows a stat for /etc/passwd and for ~/.bashrc. These files on on different partitions of the same disk.
Size: 101 Blocks: 2 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 4712796 Links: 1
Access: (0600/-rw-------) Uid: ( 1001/ melvin) Gid: ( 1001/ melvin)
Access: 2007-09-12 14:55:35.000000000 -0400
Modify: 2007-05-27 17:48:36.000000000 -0400
Change: 2007-06-10 11:17:01.000000000 -0400
Size: 1793 Blocks: 8 IO Block: 4096 regular file
Device: 303h/771d Inode: 422733 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2007-09-12 21:08:42.000000000 -0400
Modify: 2007-08-23 20:27:32.000000000 -0400
Change: 2007-08-23 20:27:32.000000000 -0400
You can see that the device identifier is different for each file. The same thing is true for soft links on different partitions.
Hard links have got to reside on the same partition/file system. Hard links are exactly the same as all other hard links pointing to the same file so they do not need to be dereferenced. The inode number will be the same in all hard links pointing to the same file.