int i = 90000;
Yeah, right. Reading up on the range of values that can be stored in different types of variables would be a first step.
motor2.set_microstep_select_pins(A0,A1,A2);
motor4.set_microstep_select_pins(A0,A1,A2);
How can both motors use the same set of pins?
for (int i = 90000; i > 0; i--); // Amount of maximum space i can travel
See comment above.
if (digitalRead (switchPin1) == LOW); { // When I trigger switch left it should read low
The ; at the end forms the body of the if statement. It's a noop (no operation/do nothing) statement. So, if the switch is pressed, do nothing. If the switch is not pressed, do nothing. What's the purpose of reading the switch state?
delay (300000); //delay 5 min
Literal constants are treated as ints. 300000 is not a valid value for an int. You need UL on the end of the constant, to tell the compiler to treat the value as an unsigned long, instead.
I'm sure that there are other issues. This was as far as I read.