Both sentences are grammatically correct. The correct answer for the question depends on what tense the question is hoping to test. If it is meant to test a student's understanding of past perfect tense, then the first sentence, "I was really tired last night. I had had a hard day." is the appropriate response.
Sentences in the past perfect tense have the following structure: [had + past participle]. The usage of this tense with non-continuous verbs is meant to describe an action that took place before and leading up to another action (also in the past).
As far as your additional note, using have had (not have have) would make the sentence present perfect -- describing an action that started in the past and has continued up to an action in the present.