1. Because he had no money, I lent him some money.

2. He having no money, I lent him some money.
(Are both the same? Can we use #2?)

3. Because Dave was hungry, I gave him some bread.
4. Dave being hungry, I gave him some bread.
5. Dave hungry, I gave him some bread.
(Are they all grammatical and the same in meaning?)

No, #2 cannot be used.

#1 would be better if you omit the repeated word "money" at the end.

#3 is best.
#4 is awkward.
#5 is incorrect.