The result IS stored in a long, but the calculation is done with int-precision because all factors fit into an int.
My method to make it really readable:
const uint32_t SECOND = 1000; // millis per second
const uint32_t MINUTE = 60 * SECOND; // millis per minute
const uint32_t HOUR = 60 * MINUTE; // millis per hour
...
const uint32_t INTERVAL_whatever = 5 * MINUTE;