The watchdog timer always has a fixed period which is nominally 18 ms, but can vary from 7 to 33 ms. There is a prescaler that can either be assigned to timer 0 or the watchdog. With the maximum prescaler setting, the watchdog trip period is multiplied by 128. This means the maximum native watchdog period is nominally 2.3 seconds, with a possible range of 900 ms to 4.2 seconds.
However, the basic watchdog period can be extended to any length by counting in firmware. Even 18 ms is a "long" time for the micro. Waking up every 18 ms to decrement a counter and see if it has reached zero, then going back to sleep takes very little average current. 10 seconds would be 556 watchdog trips at 18 ms each, for example. Or, you could set the prescaler to 8, for example, to get nominal 144 ms periods. Then you would count 69 of those to get about a 10 second wakeup period.
One problem with using the watchdog for timing wakeups is that it is so inaccurate on these old PICs. A trick I have used a few times is to measure the watchdog interval by leaving the processor running every once in a while, like every 1024 wakeups, for example. That allows you to measure the watchdog period against the much more accurate main oscillator, then decide how many watchdog periods to count per desired wakeup time. In this example the average current from leaving the processor on every 1024 watchdog intervals is still less than .1% of leaving it on all the time.