With 20MHz Crystal, minimum PWM frequency can generate is 1250Hz. See example to use analog input 0-5V to vary Frequency and Duty Cycle http://shahrulnizam.com/pic-lesson-pwm-module/
To generate frequency lower than that, you can use timer interrupt. See example to generate 50Hz PWM...