Bienvenido al foro olidengel. Para responder a la primera pregunta, Hot es un adjectivo, quiere decir caliente, mientras Heat es un nombre, es decir el calor. Se puede confundirlos porque los usamos para comunicar de una manera un poco distinta de la del castellano:
I'm hot. (literalmente Estoy caliente, pero en castellano mejor es decir Tengo calor. )
It's hot out. (literalmente Está caliente pero se dice Hace calor para el tiempo, ¿verdad?.)
Segun la otra duda: says es el presente. Said es el pasado.
Se puede poner la oración completa en el pasado así:
I always had to do what he said (en un tiempo atrás).