Concerning the three weeks: In some ways I think it matters whether or not he is staying in a hotel or at your house.
If he is staying at a hotel, I don't think there is too much you can do except continue with your previous plans for the week you weren't expecting him. Those plans may simply be to sit on the couch alone eating ice cream. He can stay in a hotel anywhere he wants as long as he wants, but you only agreed to host him from x day to y day for a total of two weeks, no more. So only agree to be with him that week if you truly want to, not because he wants to. He is manipulating you.
If he thinks he is staying at your house: Your husband needs to call him up ASAP and tell him NO to the third week. Give him hotel names and numbers, tell him to change his flight, it doesn't matter as long as he is not staying with you. Do not let him trample over your boundaries.
Concerning your MIL, while I feel for her, you already have plans and are not able to host her. She is an adult and can deal with her own holiday. She had last year.
Don't let your FIL take over your house. Tell him No, make sure you and DH are on the same page. If need be tell him to leave for a few hours or even overnight (give him the phone number for a hotel) if he behaves badly.
My MIL and I have a history. Cut offs occurred and after I had my second child I opened the door to a relationship. She pretended nothing in the past happened and has ignored all of the bad blood. I have made it known that for the sake of family harmony I will no longer discuss certain topics of conversation around her. For the sake of my husband if she brings them up he and I first bean dip, then we explicitly state that we shouldn't talk about this. If she continues I take the baby and my DD and go upstairs where she is not allowed or to a coffee shop, or out to dinner. I know that it seems that I am giving in by not kicking her out, but it is the compromise that I made with DH so he can continue to have a relationship with his Mother, but her bad behaviour means that she cannot be with the grandkids, and all scheduled activities stop.
You should feel free to do something similar. Make a area of the house off limits to him. Make sure you have everything you need in that area to feel comfortable. When MIL is coming I keep my favorite chocolates, bottled water, an IPAD and netflix handy. I keep a book that DD and I are reading together there and a video game for her to play. I am ready at any time to go to a place that I feel comfortable that she is not allowed to go. DH knows that once I am in this area he is responsible for cooking/cleaning/hosting/whatever else needs done. In someways it is a reverse timeout. I cannot make her go to her room but I can remove the things that she wants and put a stop to the reason she came over.