I hate to put it like this, but you're the one letting it all happen.
You let them do stuff, and do more stuff, and you let the friend move in, and stay, and let them bring in more animals, and let them mess stuff up, and you are the lease holder.
You have to put your foot down, or put up with the behavior. If you sit there and don't correct the bahavior, it's not like they wil suddenly change. Why are you still giving him rides at 5am? Why are you putting up with it? He's treating you and your house like garbage. Anyone that figured they would "couch hop" until they found a place would have been suspect in my mind to begin with. It's called mooching. Stop it now, or be resigned to putting up with it.