Правильно I didn t have ice-cream for lunch yesterday.
Почему: Данное предложение относится к прошедшему времени, о чем свидетельствует yesterday (вчера). Если бы у нас была утвердительная форма, то предложение выглядело бы таким образом: I had an ice-cream yesterday. Единственно возможный вариант образовать отрицание (как нам и нужно), можно только путем впомогательного глагола did (или didn't в отрицании) и никак иначе.