Here's what I came up with. It does exactly what I need! Thank you all for your help. At the moment, it runs the same routine with different timing depending on the position of the switch, and I will probably tweak it and maybe add an output or two before I'm done, but the hard part is done 
const int develop = 2; // relay connected to digital pin 2
const int etch = 3; // relay connected to digital pin 3
const int dirinse = 4; // relay connected to digital pin 4
const int motor = 5; //motor relay connected to digital pin 5
int p1 = 6; // input switch position 1, digital pin 6
int p2 = 7; // input switch position 2, digital pin 7
int p3 = 8; // input switch position 3, digital pin 8
int p4 = 9; // input switch position 4, digital pin 9
int st = 10; // input start switch, digital pin 10
int stopnow = 0; //value to set loops to cycle once
int goahead = 0; //start button state
int switchstate = 0; //selector switch position
int program1 = 0;
int program2 = 0;
int program3 = 0;
int program4 = 0;
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the pins as input or output:
pinMode(develop, OUTPUT);
pinMode(etch, OUTPUT);
pinMode(dirinse, OUTPUT);
pinMode(motor, OUTPUT);
pinMode(p1, INPUT);
pinMode(p2, INPUT);
pinMode(p3, INPUT);
pinMode(p4, INPUT);
pinMode(st, INPUT);
}
void loop() {
goahead = digitalRead(st);
if (goahead == HIGH)
{
program1= digitalRead(p1);
program2 = digitalRead(p2);
program3 = digitalRead(p3);
program4 = digitalRead(p4);
if (program1 == HIGH)
{
digitalWrite(motor, HIGH); // start spin motor
delay(2000);
digitalWrite(develop, HIGH); // close relay
delay(5000); // wait for develop time delay
digitalWrite(develop, LOW); // open relay
delay(500); // slight delay to allow for spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(5000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(etch, HIGH); // close relay
delay(5000); // wait for etch time delay
digitalWrite(etch, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(5000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(5000); // final drying spin before end
digitalWrite(motor, LOW); // stop spin motor
}
else if (program2 == HIGH)
{
digitalWrite(motor, HIGH); // start spin motor
delay(2000);
digitalWrite(develop, HIGH); // close relay
delay(10000); // wait for develop time delay
digitalWrite(develop, LOW); // open relay
delay(500); // slight delay to allow for spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(10000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(etch, HIGH); // close relay
delay(10000); // wait for etch time delay
digitalWrite(etch, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(10000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(10000); // final drying spin before end
digitalWrite(motor, LOW); // stop spin motor
}
else if (program3 == HIGH)
{
digitalWrite(motor, HIGH); // start spin motor
delay(2000);
digitalWrite(develop, HIGH); // close relay
delay(20000); // wait for develop time delay
digitalWrite(develop, LOW); // open relay
delay(500); // slight delay to allow for spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(20000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(etch, HIGH); // close relay
delay(20000); // wait for etch time delay
digitalWrite(etch, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(20000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(20000); // final drying spin before end
digitalWrite(motor, LOW); // stop spin motor
}
else if (program4 == HIGH)
{
digitalWrite(motor, HIGH); // start spin motor
delay(2000);
digitalWrite(develop, HIGH); // close relay
delay(1000); // wait for develop time delay
digitalWrite(develop, LOW); // open relay
delay(500); // slight delay to allow for spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(1000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(etch, HIGH); // close relay
delay(1000); // wait for etch time delay
digitalWrite(etch, LOW); // open relay
delay(500); // delay to allow spray to stop
digitalWrite(dirinse, HIGH); // close relay
delay(2000); // wait for rinse time delay
digitalWrite(dirinse, LOW); // open relay
delay(1000); // final drying spin before end
digitalWrite(motor, LOW); // stop spin motor
}
}
}