Appreciate the input johnwasser and Robin2.
I think I have a good grasp on writing separate functions for my program so that I can avoid using delay() in my code. An issue I am having now is with "live-tracking" the time that my photo-interrupters are LOW. I am able to get the time the photo-interrupters are LOW using millis(), but it returns the time once the photo-interrupter goes back HIGH. My goal is to use the photo-interupters to check for errors in my process. If the photo-interrupter is LOW for longer than 5 seconds then that is an indication of an error in my process. Therefore, I need the time that the photo-interrupter is LOW to consistently update, because the photo-interrupter may not ever go HIGH again without human intervention.