I did try and test your suggestions for the 16F628 which worked except for the symetrical issue.
That's probably because you're setting the CCP1CON CCP1X and CCP1Y bits, which control the duty cycle lsb's.
Clear those two bits (ie CCP1CON = $0C for PWM mode).

You should be able to get 125KHz with a 50/50 duty cycle at either 16MHz or 20MHz. You don't need 16-bit PWM for that.