В предложении указано, что у них достаточно кошачьего корма («We've got plenty»). Это означает, что покупать его нет необходимости. Для выражения отсутствия необходимости используется конструкция needn't.
needn't — выражает отсутствие необходимости.
have to — выражает внешнюю необходимость, обязанность.
Поскольку корма достаточно, нет никакой необходимости его покупать. Следовательно, needn't является правильным выбором.
Ответ: needn't