It is technically possible for the PIC18 to run FreeRTOS and there are two ports. However, the primary compiler for PIC18 (MPLAB XC8) is NOT the version supported by either port. The MPLAB port is for the old C18 compiler. This older compiler uses a traditional call parameter stack and therefore could support context switching tasks. The newer XC8 compiler uses a “compiled” stack that converts all local variables into absolute addresses and therefore would not be compatible with multiple tasks.
The current XC8 does have a software stack mode MPLAB® XC8 C Compiler User’s Guide for PIC® MCU
That may be possible to adapt to FreeRTOS. Currently there is not a port for this combination so the opportunity exists for you to contribute a port.
If you can choose your MCU, I would recommend a Cortex M0+ like the SAMD21 as a good choice for FreeRTOS.