I'm all for modifying the tv-b-gone like this (I'm working on a similar "push one button to do something") hack, but programmable remotes do not have to be complicated.
http://www.weemote.com/Just to provide you with options.
On the other hand, hacking the tv-b-gone might give you more flexibility. Depending on how much control your friend has, maybe you could have it cycle up when he presses and releases, and cycle down when he holds it for some reasonable time.
In addition to the tutorial on how put in different codes referenced above, I found
http://www.ladyada.net/learn/sensors/ir.html useful for gathering the needed data without having an oscilloscope.