Yes, it has a software-addressable stack, at least in theory.
Our rule-of-thumb is that with less than 2k RAM total, there's little point in trying to make an RTOS preemptive, because the RAM for the various stack frames (a minimum of 32 words per task (for return addresses) * number of tasks) will quickly exhaust the available RAM.
In reality, you'll need a lot more than 32 words/task because parameters, auto variables and perhaps also return values will be on the stack ...
To say nothing of the substantial performance hit you'll take when doing software stack operations. And the interrupt latency, etc.
There have been attempts to do preemptive RTOSes on the PIC18, and they do not appear to have met with much success ...
Salvo offers the advantages of an RTOS yet still runs in <2KB RAM parts. Heck, it runs in <256 bytes RAM parts. Our users don't seem to inconvenienced by the restriction that context switches must be at the task level.
So, a preemptive RTOS for "RAM-challenged" MCUs is currently not part of the Salvo plan.