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

Should I have my PID function in an interrupt? Or should I do this in the loop also? I initially thought to use interrupts as it is pretty critical that it happens regularly (I'm meant to be aiming for +/- 5 milli Kelvin stability), which is why I also thought I would need to check the temp just as often.

With this statement, are you serious about asking this?

Why should I steer clear of delay(), what should i use instead?