Needed: more efficient code, need to learn about functions i think!.....help!

One of the nice thing about using booleans is that conditional statements can be shorter and cleaner. It's basically redundant to compare a boolean to a value as they are either zero or non-zero.

if ((damperOn == true) && (damperState != true));

As damperOn and damperState are both booleans this statement is more verbose than it needs to be.

if (damperOn && !damperState)

Is the same thing. It's not wrong to do it the other way and if it's easier for you to read and understand then do it.

One more important note is that semicolon at the end of your statement will keep it from doing anything.

  if ((damperOn == true) && (damperState != true))
  {
    damperState = true;
    digitalWrite(damperOpen, HIGH);
  }

This will work, you need to get rid of the semicolons you used like that.