Magnetic sensing (hall effect) is pretty much out at your distances. Too far. Also it would require you to mount magnets in every single object that you want to detect.
Bluetooth (and similar radios like WiFi) can not sense distance, at best "in range" and "not in range" where "range" depends on lots of environmental factors such as whether there are walls in the way. It also requires the object you want to detect to have such modules in place.
Now considering your suggestions it is obvious your objects can cooperate, which opens all kinds of other options, such as the object listening to a signal (e.g. an ultrasonic ping) from your master device, and then echoing after a very well defined period of time. This allows you to do a time of flight measurement.
Then there's LiDAR. Can also detect all kinds of objects, regardless of shape, at many distances, though your 1 inch minimum is probably too close.
Other than that, visual: two cameras for stereoscopic vision. But that's out of scope of Arduinos.