Is using a shorter timer period less accurate than using a longer one?
The timers divide the clock down by integer values.  The long term average coming out of a timer will be the same as that of the oscillator.

It sounds like your timer period is off by 1.  Read the datasheet carefully.  You probably didn't put the right value into the period register.  Usually these timers work such that the period is the period register value plus 1.

Another possible source of error is how the crystal is driven.  The accuracy is specified for a particular load capacitance, which can often be a bit unpredictable since stray capacitance can be a significant part of the total.  However, that would not explain why two timers running from the same clock don't agree on elapsed time.  Only a firmware bug can cause that.