Could use some guidance with limit switches and a prox switch arduino mega

  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.