All it takes is simply putting two power buttons on a device's remote instead of one.
Eww. No. If you want discrete codes then just make the device support it and the end user works it out from the IR data or document it somewhere. The proper way to do it is via correctly made data strings you enter and not a learnt IR code as learnt codes generally won't do the repeating and length of code properly.
Having extra buttons is just a kludge which will affect everybody who doesn't have a universal remote which is actually quite a lot of people. Maybe make the long press code do it or something like that.