You can use a timer to provide the debounce without adding a delay in the ISR. The pin change interrupt sets a timer to fire an interrupt in, say, 10ms. So, if the pin changes again within this 10ms, the timer interrupt is rescheduled to be in another 10ms time. When the timer interrupt finally fires, it means there's been no pin change activity for 10ms i.e. properly debounced. Inside the timer interrupt you can toggle your enable bit or whatever you want to do when a button is pushed.