Now you are mixing your original code with Darrels template and what I tried to tell you earlier into a complete mess....

The only thing I want is control the TMR1 interrupt frequency precisely, even in runtime.
Yes, and to do that you change the reload value which you load TMR1 with at each interrupt. In the timer1 intterupt stop the timer, add your reload value to the value of the timer and restart it. Then do whatever else needs to be done in the ISR. Did you try the code I posted in my first reply?