Can Switch Case statements be outside the void loop?

How would I make my While Loop valid only in the Void Setup and after I press the '#' key, lock those values and take me into the Void Loop?

You'd sound a lot less like a clueless dweeb if you stopped referring to setup() and loop() as voids. They are NOT voids any more than digitalRead() is an int.

They are FUNCTIONS.

Your code does NOT have a Setup() function, a Loop() function or a While loop. It has a setup() function, a loop() function, and a while loop.

You need to define EXACTLY what it is you are waiting for. keys is an array. It is NOT possible, or even meaningful, to compare it with the literal '#'.

It doesn't even make sense to wait for a key to be pressed, since you are already blocking waiting for keys to be pressed.

You already have some purpose defined for all 16 keys, so you can't keep setup() from ending until a specific key is pressed.