Metro is to local travel what Hyperdia is to inter-city travel. This is a free application you can get from http://metro.nanika.net/ . It's pretty easy to use; just enter you departure point and destination and it will plan your route. Selectable transportation modes include buses, trains, streetcars, and even a ropeway. It will give you two routes: the fastest, and the one with the least connections. At least on the versions I've tried, it's not aware of departure times or fares, but buses and trains are usually frequent enough that it doesn't matter much.
There are versions for the Palm and Windows Mobile operating systems as well as iPod Touch. It also works on a whole list of mobile phones, but I won't list them here as most of them won't work in Japan anyway.
If you've got a PDA (Palm OS or Windows Mobile) that's configured to support Japanese characters, grab the "metro-int" version of the application. Take the Japanese city files from both the EN and JP directories, renaming one set or the other so you don't over-write anything. Use the Japanese version because it builds character, and the English version if you get stuck. Also, if you can't find what you are looking for in one file, you might be able to find it in another because the coverage areas of the English and Japanese files are slightly different. If your PDA is low on memory you can store the data files in flash memory if you PDA supports it.
The iPod version of Metro only gives access to the English files, even though the iPod supports Japanese. There are only eight instead of nine cities available in this version. The cool thing that it does do is that it points you to a Google map of each station. On and iPod touch, you'll need Wi-Fi access for this feature and that's not always easy to get in Japan.
There's an on-line version of the program, which of course requires internet access. This also has only the romanized stations, but like the iPod Touch version, it also gives you maps. There is a version for regular browsers and a mobile version. The mobile version doesn't give you a list of station names from which to choose, so you have to know the exact romanized spelling.