Hi Wayne,
If you want the task to exit form fgetc() and continue you would need to modify the bsp. But if you dont have problem on restarting the task you may use a timer as you say.
In MQX installation you can find hwtimer and timer examples. C:\Freescale\Freescale_MQX_4_2\mqx\examples
You can also use lwtimer.
For restarting the task you need _task_restart()
E.g.
_task_id uart_task_id;
uart_task_id = _task_create(0, UART_TASK, 0);
_task_restart(uart_task_id, NULL, 0);
Best regards,
Carlos