Glitches with Arduino and servo control

  while (Serial.available() != 0 )
  {
      TankVal[i] = Serial.read();
      i++;  
   }

Suppose you read two characters.

    LeftTankReadVal = 0;
    LeftTankReadVal = LeftTankReadVal + TankVal[0];
    RightTankReadVal = 0;
    RightTankReadVal = RightTankReadVal + TankVal[1];

Now, why you feel it necessary to set the value to 0 and then add a new value to it escapes me, but you did not read two ints from the serial port. You read two characters.

    LeftTank.write(LeftTankVal);
    delay(10);
    RightTank.write(RightTankVal);
    delay(10);

Why are you delaying BETWEEN moving one side and moving the other side?