I don't think this is guy is a bad person, but he probably doesn't know that he's doing something annoying. Your husband needs to set him straight in a very considerate way, and really, he doesnt have to be completely honest about it. If lunch comes up, hubby can say "I'd like to, but I'm low on cash". See how long it takes for the friend to offer to pay or stop asking. Have your man tell the friend that he needs to call prior to coming over, and knock first. Tell him he scared the crap out of you just walking in that one time, and out of respect, knock and wait for an answer. If he gets into the fridge, just say whatever he pulls out if for your dinner later, then joke "jeez...don't you ever bring over your own food??". You don't have to be completely straight forward about it and put him on the spot.
Regarding your husband, I'd sit him down and address everything, and do it when you're both calm and not riled up. You're not being unreasonable. There needs to be boundries and your man needs to understand that. Be sure to let him know that you don't want him to drop his friend, rather limit the things his friend gets away with.
Regarding your husband, I'd sit him down and address everything, and do it when you're both calm and not riled up. You're not being unreasonable. There needs to be boundries and your man needs to understand that. Be sure to let him know that you don't want him to drop his friend, rather limit the things his friend gets away with.