Help with motion activated servo please.

I would change the structure of the program so that there is only one servo function and it decides what to do depending on the value collected by the analogRead(). For example

int servoPos = 1200;

void loop() {
  readPIR();
  moveServo();
}

void readPir() {
  alarmValue = analogRead(alarmPin);
}

void moveServo() {
  if (servoPos == 1200 && alarmValue > 1000) {
     myservo.writeMicroseconds(1800);
  }
  if (servoPos == 1800 && alarmValue < 100) {
     myservo.writeMicroseconds(1200);
  }
}

If nothing else it would make the logic clearer to me.

...R