В предложении "Mr.Smith stayed at his office very late because he ... a lot of work." речь идет о прошедшем событии (Mr.Smith stayed - остался). Глагол "to have" здесь используется в значении "иметь" или "делать" (работу).
Поскольку действие произошло в прошлом (stayed), нам нужна форма прошедшего времени.
Ответ: d) had