I am be very interested to see how this works out.
I am currently making an RFID controlled lock for a door and I know from my work on that,that RFID have range limitations(depending on what type of reader and chip you use) so the position of both reader and chip may be very important especially because you're planning on using it on an unpredictable living thing. That might be a big challenge and may require more than one RFID reader.
As far as a locking mechanism you can make one really cheap by taking apart an old cd drive and using the slots drive system.
This is a tough and subtle problem. I wouldn't discourage you from trying to find a cool, clever, "good enough" hobbyist solution. In fact if you can do so it might even justify starting your own company to market it.
What you are talking about is an RTLS (Real Time Locating System).
RFID can be used to solve this problem, but at a very limited resolution and requires an extensive sensor grid. Basically with RFID, since the range is very short and there is no timestamp, position, or other useful information transmitted, the best you can do is sprinkle your volume with a sensor grid and see which readers can see a tag, which will allow you to narrow down the possible locations to the proximity of active triggers. This could be fine if you want to know what room something is in and keep track of the path it followed through the volume (by watching the history of sensors that could pick up the tag).
If you want something that will tell give you x, y, z coordinates for the object's position, things get a lot more complicated. If you want to get an idea conceptually of how such a system might work, look up multilateration. The basic idea is that you have a set of receivers with a common clock and known positions, and your locator tags chirp (emit a sound/light/whatever pulse) periodically. The receivers and transmitters do not have a common clock, so they cannot directly determine distance by time of flight. But by comparing the difference in arrival times between the transmitter and each receiver and grinding through some math it is possible to solve for the position of the transmitter.
There are some cool hobbyist opportunities for building multilateration systems using ultrasound or even audible sound, because ultrasound hardware is pretty cheap and there is plenty of existing audio processing software for PCs.
Another type of RTLS is Trilateration, which is what GPS uses. This depends on the transmitters (GPS satellites) transmitting very accurate synchronized timestamps and position information, as well as a receiver that is (at least sort of) synchronized with the transmitter's clocks. Since the receiver knows where and when each satellite was when it chirped, it can directly determine distance from each satellite, and the set of possible positions relative to each satellite is the surface of a sphere. With multiple satellites and multiple sphere's of possible positions, the position is the intersection of the spheres.
The problem with trying to build anything like this is that you're not going to get a tiny little passive tag that you can put on sunglasses or keys without adding obvious bulk. There is a company called Plus Location Systems that makes turnkey systems that essentially meet your requirements, but they are quite expensive and even with all the work they have done the asset tags are roughly 1.4 x 1.3 x 0.5 inches.
There is a company called DecaWave that is developing a system based on peer-to-peer transmitter/receiver chips. Their chips are tiny (although they still need to be powered, etc.), and they are not quite commercially available, but are probably about as close as we currently are to tech that allows us to put little tags on everything and know exactly where it is.
Best Answer
I once designed a small transmitter that woke up every minute or so to measure temperature and transmit the value along with an ID. These were used in a room which had a stack of freezers and if one of the received transmissions indicated the temperature was too high an alarm sounded. Collisions of data was expected but each transmission only laster 40 milli seconds every minute or so if you had 100 of these all randomly transmitting, the total transmission time of all one-hundred was less than 10% of one minute. There was also a random factor built in based on ID.
Battery life was paramount on this but 1 year was got (from memory) from a PP3 style 9V battery. The engineering to get more battery life is keep the electronics powered off as long as possible, ensure the quiescent current (when off) is as small as possible and keep the transmission as short as possible. I used 433MHz off-ther-shelf transmitter modules and one off-the-shelf receiver acting as the central collection point for data.
Incorporating a receiver is not a good idea i.e. transmit on request would need a receiver that takes up valuable real-estate and consumes power almost constantly.