I am working on a project where I am trying to create a magnetic tag that can be detected from $20 - 50$ cm away. Is there any sensor on the market capable of this?
You maybe interested in looking here:
or for more advanced applications the ferrolens (commercial product named Ferrocell).
However these optical magnetic sensors need more likely to be in physical contact with the magnetized matter and have a sensitivity at about 400 Gauss (i.e. 40mT) in average magnetic field strength. I doubt you can find such an optical magnetic sensor at 20cm-50cm that works at that distance range from the magnetic source? Unless we are talking about a very strong magnetic field source as for example in MRI where you can have 1T (10,000 Gauss) strength and above fields.
Note: MRI field strength value indicated above, refers to the Βr residual magnetism value thus field strength on contact, zero distance from the magnetic source which in a multi-poles MRI configuration can be translated into 0.3T (3,000 Gauss) and above field strength on air many cm away from the source.
You may try this product here the mini-Ferrocell which has a sensitivity of 100 Gauss (10mT) which translates to a field strength on air a few cm away from a normal N42 grade Neodymium dipole magnet with Br value on contact about 5,000-6,000 Gauss (i.e. Br 500 to 600 mT). If you increase the strength of the magnetic source on contact, say for example at 1T (i.e. 10,000 Gauss) Br value, you should gain more distance separation and still get a visible response from this sensor but no more than 8 cm distance at maximum in my experience.
Nevertheless, all these should not be applicable in your case since your magnetic tag as you described it should have no more than a few mT, Br residual magnetism strength on contact.