I need to generate a programmable pulse inside an ISR
you can use delayMicroseconds() inside the ISR if you really need to. It is not usually the best practice to delay inside an ISR, and there may be a cleaner way to accomplish what you need but without some background of what the signal is and what its used for this is your best bet.