Te refieres con periodo máximo a la frecuencia máxima o mínima???
Si es a la frecuencia máxma, sería con T2_DIV 1 y periodo 0, osea:
setup_timer_2(T2_DIV_BY_1, 0, 1);
Con esto consigues una frecuencia de 1mhz con un cristal de 4mhz, según mis cálculos. T=1us.
Por lo que aplicando ese periodo a la fórmula del duty, tendrás que el máximo es 4 (sería para 100%), luego con 2 sería una cuadrada.
Por tanto, con eso podrías conseguir 0, 25, 75 y 100%
Leyendo ahora creo que te refieres al otro extremo... Pues sí, para 4mhz es eso que has calculado, T=4,096ms
Saludos!!