Usage of "for" in this passage
For can have a lot of meanings, as its long dictionary entry shows. In the first sentence, "for" is a conjunction. It means:
- seeing that; since
- because
Your intuition is right--it indicates causation. It says, "Let us shut out the night...because you are still afraid."
The second "for" could either be another indication of causation ("Fear not!...because you are in the house of Tom Bombadil!"), or it can take on the meaning of a length of time. For tonight indicates that the hobbits are in Tom Bombadil's house for the set period of time -- just for tonight.
Yes, for means because in these sentences. She suggests that they "shut out the night" because her guests are afraid of things outside, like "mist and tree-shadows" and whatnot. She then tells them they don't need to be afraid now, because they're in Tom Bombadil's house; he'll keep them safe.
You are right about "for" being causation in the first sentence.
In the second sentence, the "for" has the meaning of "because" as well, but for a different reason, from the first "for". The second "for" is stating the reason for not fearing.
Fear nothing...
Before the second "for", is the above phrase. Thus, the second "for" is stating the reason for fearing nothing, not indicating the reason for "shutting out the night" (no offence to simchona.)
Thus stated, the sentence with a little interpretation might look like this:
Fear nothing! The reason for you not to fear anything is because we are in Tom Bombadil's house!
To sum up, the second "for" is explaining the statement "fear nothing."