I would like to set a stopwatch timer that will determine how long an input is in a certain state before changing. I want to set it so that, depending on the output my code executes one of 2 switch cases. But my trouble comes in on setting a timer. Is there a function I could use? Or a method that somebody knows? The time that the input will be for each case is not fixed so I cannot use a delay.
Even though you are not running an actual (complex) Operating System, you should adhere to common practices. For an Arduino, you should, in many cases, avoid directly controlling the hardware so as to be compatible with as many existing libraries for your particular Arduino platform as possible.
Setting the timer directly (if you are using an official Arduino Uno which contains an Atmel328P processor the processor's timers are covered in section 14 of the Atmel328P Specifications) may cause unexpected results should you use a library which expects the timer to run without being altered.
Instead, consider using the millis() function built into the Arduino IDE. The function returns the current number of milliseconds since the Arduino was powered up. Record this value in your code. Then, if you want to know if One Second has elapsed, add 1000 to this number and repeatedly check to see if millis() returns a number which exceeds this value. When it has, One Second has elapsed.
A bit more advanced: Once you have debugged your program, go back and consider what would happen if the value millis() reported started over from zero because it has exceeded the size of the variable type millis() returns. This does not happen very often. And it may not be important to you should your program behave unexpectedly on an infrequent bases. But if it is important, consider added the code to detect this roll over and act accordingly.