You CAN use your existing definition of TIMEOUT_CHECK but you have to use it as a statement. You can't put a statement in an expression. You could use it this way:
#define TIMEOUT_CHECK { if (millis() - timeout_start > timeout_ms) return ERROR_TIMEOUT; }
while (!Serial.available()) {
TIMEOUT_CHECK
delay(1);
}