"which would overwrite the values for each vivarium every few seconds. “

It sounds like you just need to overwrite the appropriate value into the 4 line buffer instead of updating the whole display buffer for every variable,
or update the LCD location directly, but I would do the former, and write a complete screen every time.