Help with Design: Using processor time efficiently when dealing with serial

Though I said I would put it in an interupt handler routine for logical separateness, I have to agree with Grumpy_Mike.
This is most probably not time critical at all. You're even using slow rs-232 to communicate with it.

If it's in any way easier for you put the PID logic and commands in the main loop.
Even if you give the user a button to transmit back a history of measurements, and even if he hits that several times in a row,
you're certainly not going to have a wrong reading due to the measurement being delayed by even a few seconds.
Similarly your main loop will repeat many times per second. We are just guessing but one would think that
the cycle rate of thermostatic controller for an "oven" type device would be many multiples of seconds.

If you have any data on typical cycle periods for your milliK sensitive device, that would settle it.
If it turns out to be a hundred times or more greater than your measurement period (and we think it will), PID in interrupt will not be helpful.
Alternatively, if the oven has a small thermal mass and takes only a second or two of heating or cooling to change by 5 milliK,
then the PID should be in an interrupt. Consensus is that this will not be the case.