#Naming items not in your inventory

Solution 1:

No, you cannot #name items except those in your inventory. When you use the command #name, it only takes an inventory letter as an argument.

A good strategy is to simply never pick up a gray stone unless you are sure it is not a loadstone or to pick it up, uncurse it somehow, #name it, and drop it again. You can always test whether any individual gray stone is a loadstone by kicking it without wearing boots of kicking. If it moves, it's not a loadstone. Then if you do pick it up, you can #name it "not loadstone" or something more specific if you can figure it out. Then if you ever have three different names for different gray stones, any unnamed gray stone is a loadstone. You can check what items you have names for with \.

There is more information about loadstones and #name on the wiki.