DS18B20 and occasional bogus readings

You can use an if to wrap around your lcd code so you don't print for extreme values:

sensors.requestTemperatures(); // Send the command to get temperatures
Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
if(sensors.getTempCByIndex(0) > -125.0 && sensors.getTempCByIndex(0) < 85.0)  
  {
  lcd.setCursor(12,1);
  lcd.print(sensors.getTempCByIndex(0));
  }

Nicer to use the indoors & outdoors variables rather than calling sensors.getTempCByIndex(0) repeatedly, but they're set before the temp request, so they're stale.

Simpler still though, just overwrite the characters after "c" with spaces:

  lcd.print ("c  ");