will For loop in MikroC for dspic block the interrupt service routine?
if an interrupt occurs at q=100, after interrupt service, will the for loop start again from q=101?


Yes.  The microcontroller suspends its current execution, and saves current state to the stack.  Then it executes the interrupt service routine (ISR).  Then it restores the state from the stack and continues with what it was doing.  That's the nature of interrupt.  Normal execution doesn't know that the interrupt have even occurred (unless you create a variable which you set in the ISR).

Just to be clear about the loop.  There is no guarantee that the interrupt will occur exactly at the time when the loop starts.  The interruption will occur immediately, it will not wait for the end of the loop.  The loop counter itself might take several instructions to increment and compare (even if the loop has no instructions inside, and it didn't get optimized away).