Jack didn't tell me that he __ my chocolate.
- had eaten
- has eaten
I have a hard time figuring out which one to choose and why.
As jwpat7 pointed out, it depends on circumstances. Here is how you might use each tense, with examples for each tense:
1.) "Hey, Jim, did Jack tell you he eats your chocolate?"
In this example, Fred is really informing Jim that Jack eats Jim's chocolate, even though Fred is asking a question. We might call the questioner (Fred) a snitch, an informer, a tattletale, a talebearer, a rat--take your pick. Jim would then say,
"No, Jack didn't tell me he eats my chocolate."
In other words, Jim is saying he was not aware of Jack's habit of eating his (Jim's) chocolate.
2.) "Jim, did Jack tell you he ate your chocolate?"
In this example, Fred is likely (but not definitely) seeking information about something that happened in the past. He is asking for the purpose of asking, not telling, as with example 1. Jim would then say matter-of-factly,
"No, I didn't know Jack ate my chocolate."
3.) "Jim, did Jack tell you he had eaten your chocolate?"
In this example, Fred is probably, as in example 2, asking Jim if he knew that Jack ate his chocolate. In other words, perhaps Jack told Fred, who saw Jack eat the chocolate when Jim was not with them,
"Hey, Fred, remind me to tell Jim I ate his chocolate, just in case I forget."
The next time Fred sees Jim, he says
"Hey, Jim, did Jack tell you he had eaten your chocolate?"
Jim then says,
"No, Jack didn't tell me he had eaten my chocolate."
4.) "Jim, did Jack tell you he has eaten your chocolate?"
In this example, Fred, as in example 3, is asking Jim if he was aware of something Jack did. Perhaps Jim, in the presence of both Jack and Fred told Jack he was free to eat all his (Jack's) chocolate at his leisure, just before Jim handed the chocolate over to Jack. Later, when just Fred and Jim are together, Fred asks,
"Hey, Jim, did Jack tell you he has eaten your chocolate [yet]?"
to which Jim might respond,
"No, Jack didn't tell me [yet] he has eaten my chocolate. Did he enjoy it?"
In conclusion, in each of the above examples, the tense of eat is correct, each in its own way.