If John had taken it, he would have let me know
Person A: Where is my car?
Person B: I don't know. Maybe John took it.
-
Person A: If John took it, he would have let me know.
-
Person A: If John took it, he will have let me know.
-
Person A: If John had taken it, he would have let me know.
Q1) In each case person A doesn't know whether John actually took it or not. Which one(s) is (are) correct?
Both 1 and 3 are grammatically correct, but I would take them to describe subtly different things.
If John took it, he would have let me know.
This is a statement of expectation. To put it into a wordier form... "If it is true that John has taken it, I expect that he will have left me a message to let me know. I should go and try to find that message". Essentially, this is intended as a conditional statement, asserting that we can determine whether John took it by investigating if John left a message of some sort.
If John had taken it, he would have let me know.
This is a statement of doubt. Wordier: "If it was true that John took it, I would know because he would have let me know. He didn't let me know, so I don't believe John took it". While stated conditionally, it's intended as an argument for why John didn't take it.
If John took it, he will have let me know.
This is, strictly, grammatically incorrect. The grammatically correct form that is the likely intended reading is "If John has taken it, he will have let me know". The issue is that "took" and "will have" do not pair well.
In the context of the question posed by A, both 1 and 3 are grammatically correct, but 3 scans better, it has a nice rhythm, whereas A is a little bit abrupt and staccato. If either 1 or 3 are acceptable to you in the story, I would use 3.
Only 3 is good English. 1 is a colloquialism, which is okay in casual conversations but not in print, unless it’s a quote.
"Would have" pairs with "had done"/"been"; "would" pairs with "did"/"were".