Of course it'll be slower...

Lets assume that Pause 500 is a perfect 500mS (which is unlikely but probably close). Your HIGH and your LOW and your GOTO all take up time too which has to be taken into account. Finally, how accurate is your Oscillator? 20.00000MHz or is it a few percent high or low?

You want exactly 1Hz... go grab an oscillocope and trim it... now you have control in 1uS steps... but you add any other code or you nudge your room thermostat a little, and bang goes your timing!

Main:
high PORTA.0
pause 499
pauseus 1000
low PORTA.0
pause 499
pauseus 1000
goto Main