I'd like to be able to put something small on items (eg glasses, car keys, etc) and have an Android or iPhone app that will tell me the direction or proximity of a certain item. Current phones usually just communicate via cell, wifi, and bluetooth, but for these the other end of the communication has to be powered, which increases the size of what I attach to my items. Is passive RFID what I'm looking for? (In which case I'd have to wait for phones to come out with better RFID readers.) If yes, what size passive tags have what ranges? For range I'd like to be able to find a device a couple floors away, but even just within a room would be useful. For size, the smaller the better, with maybe a quarter the size of a dime as the minimum practical/usable size. Do you think that the RFID readers in phones will be able to take advantage of those maximum ranges? (Currently the ones I've looked at, eg Nexus S, have to be inches away.) And finally, where do you recommend I buy such tags?
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.
Don't expect phones to have the hardware built in to ever be able to do what you are wanting. RFID in the Nexus S is designed for near field communication and is mostly centered around the idea of being able to walk up to a product and find out more information about it.
This is a very interesting design problem though. Passive RFID can work from decently long distances, like what is used in many toll booths, but requires the active side to be rather high power, have a large antenna, and have a very sensitive receiver, all of which you will have a hard time getting to be portable.