Sentences 2 and 4 are correct and unambiguous.
In these examples, sentences 1 and 3 are also correct gramatically, but they are ambiguous.
The word "for" can have 2 meanings, depending on "accent".
the straight-forward meaning: the bad weather is not a good reason (or it is not enough) to justify going to the picnic.
the "because" meaning: the weather is bad, so a picnic is out-of-question
It may difficult to tell apart the meanings even in speech, but in writing it is downright impossible.
The safety net here is the fact that the bad weather is (almost?) always a picnic repellent, so the "because" meaning kicks in.
Bottom line, I advise you to not use "for" instead of "because". Until you get a better feeling of when you can use the "because" meaning of "for", just stick with "because" - there will be no confusion.
A proper use of the "because" meaning of "for":
He liked the girl, for she was smart and beautiful.