How can I locate items from a phone? RFID?
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.