I may have missed somethign here... but let me try and get things clear.
TMR2 is indeed used by both the PWM of the CCP modules (either), and the SPI module.
The way TMR2 works for SPI clock is, you set the maximum count of the counter, the prescale, and postscale. The timer counts from 0 up, until it reaches the maximum count - the period register (PR2). So, if you have the PR2 register set at....I dunno, 188, the counter will count 0-188, then back to 0. I'm sure you know this, but it helps just to go over the operation
For PWM, the counter will run from 0, to its maximum (set by PR2) then reset, just like above. However, the 'PWM' part is simply yet another register (CCP1L, CCP1H for CCP1 module) which compares its value to the value in TMR2.
Now, when you change your SPI clock, what you are doing I assume is changing PR2. This means the TMR2 counter, counts lower or higher. Say it was set to 188, and you change it to 94 (half the value), and your CCPR1L had the value 56 in it. When you change PR2, the clock to your SPI doubles in frequency (it only has to count to half what it was before, then resets), BUT.... what happens to your PWM? Before, the PWM pin would be high when TMR2 < 56, and low afterwards.
With the original PR2 value of 188, you'll have a PWM duty cycle of 56/188 = 29.8% Change the PR2 value to change the clock speed of your SPI, to 94... and now your PWM period is 56/94 = 59.6% So that doubles your PWM duty cycle.
In order to correct that, you would need to scale the value you're putting into the CCPxL/H registers to compensate for the change in TMR'2 maximum count. I guess you could do this with a look up table. Also note, that if TMR2 has a maximum count of say, 130, and your PWM period register is set to anything above this, say 150... your PWM pin will remain high as the timer never reaches 130... it is reset once it get to PR2's value.
So ultimtely, every time you change PR2 in order to change your SPI's clock, you need to adjust the PWM period registers value accordingly in order to maintain the same duty cycle. I guess how you do it, depends on how you change the PR2 values. If you simply double, or half them, then you can do exactly the same to the PWM period register. If they are abitrary values to get an absolute clock frequency, then some clever maths should be used: read in your PWMperiods register value, divide it by the PR2 registers value to get your duty cycle in %, then multiple it by your new PR2's value you've written to change the SPI's clock.
I would say 'simple' but I just re-read what I typed and it looks mental lol
Edit: just noticed that the PWM module also uses the postscale bits of TMR2 for an extra 2-bits, given a PWM of 10-bits. You don't need 10-bit PWM for an LCD backlight, but writing a new PWM period would use the postscale bits to compare. If you have your postscale bits set to 00, then its all good.