I have used DS18B20 temperature sensors with Arduino projects in the past and had great luck with them. They use the Dallas OneWire protocol to communicate and as such, only require a single I/O pin for the comms bus. Each sensor has a unique serial number so it is possible to control multiple OneWire devices via the same pin. This also means that the code in a production environment needs to be autonomous in discovering and identifying all the devices on the bus. I am not smart enough to know how heavy the library is on memory so I don’t know if it would even be possible in the smaller processors. I have been looking around at various other OneWire devices in an attempt to justify using this method but so far have not found anything terribly promising. The most interesting so far has been the DS2762 Lithiuum battery monitor. It is pretty big real estate wise and the spec sheet appears to show that the current monitor max is 2.5 Amps, but there may be a way around that. It also includes temperature monitoring so would be one device for both temp and battery.
There are also OneWire Real Time Clock chips that would allow much more precise Alarm clock modes.