A homemade one could be made very easily with a PIC microcontroller.
BTW-blantonator sorry to hijack your thread into the "what gear am I in" discussion. I've got a couple technical suggestions for you to make up for it..
You mentioned the PIC so I assume you have some electronics/software background. I'm a software engineer and have alot of experience in device control/robotics so the mention of the PIC caught my eye. Here goes..
1) Buy a cheap bicycle odometer/tach setup. They use cheap optical sensors to count RPM's. Install on you front wheel, basically as for a bike. Cut off the included gauge/display and wire the output from the sensor into a PIC or OOPic port. Count the impulses and wire an output port to illuminate a bulb when you hit your target RPM. Remember we're talking wheel RPM not engine RPM here. Note the exhaust note when you are at your shifting RPM. Learn the relationship between wheel RPM and engine RPM at that poin. Learn to listen for that and shift, then toss this Rube Goldberg setup. Bear in mind the relationship between wheel and engine rpm will not be linear across gears, it will be a curve. That's the practical effect of your gear ratios
2) If you have loads of dough - and what software or EE guy doesn't
- buy a Dyna or other electronic ignition with a rev limiter in it. That won't tell you when to shift directly but it will prevent you from over revving the engine. Setup the rev limit at least 500 RPM before redline and learn what that sounds like. Then shift just before the rev limiter comes on. This approach rocks over a dedicated shift light in that after you learn where to shift you still have the benny of the electronic ignition, whereas with the Dyna shift light you have $250 bucks worth of dead weight.
Also "when to shift" is more than just a mechanical question. Take into consideration your environment and just how loud you want your bike's screaming mill to get before you shift. I'm not Speed Racer so I shift mostly for around town driving and I never get anywhere near redline before shifting. Keeping the bike turning in the 3-4K range where possible until you hit 5th is good in town advice I think. Wind it up higher if you want quicker accel but never exceed redline. If you're in a parking lot etc you'll find you can't always get it up to 3K. You'll notice the bike doesn't like that much either. Moving vehicles generally don't like driving in 1st gear at all, it's just to get you going. If you have to absolutely crawl ok, but usually get to 2nd at least. My SOHC seems happiest turning at 3K and above, but as long as it isn't "bucking back" from low revs you're ok down to around 2K.
You'll get the feel for it, don't waste to much time trying to solve this.