Is it possible to remove a line of code from microcontroller program memory?
You can route the execution into another loop, a clone of the first one but without the conditional check. Of course, you need another conditional for this routing, but once you reach there, you won't need to check a conditional on each iteration.
If the loop resides in a function, you can clone the function excluding the condition check. Then all you need is some function pointer magic. If you can replace the function pointer in the caller side, you can avoid all conditional checks. But I'm not sure if calling a function using a pointer introduces additional overhead.