I agree with ponygirl, don't focus on the image of him living on the streets, focus on what your house is like when he's there and how it will continue to be if he doesn't start making some changes. You know in your heart that if you tell him to come home, he's not going to miraculously change overnight and go to work at your shop and do everything you are expecting him to do. He may do it for a day or too just to please you, but you know it won't last.
Give him options of where to go. The halfway houses are a great idea. You aren't leaving him homeless by giving him options, you just aren't allowing him to live in your home.
When I threw difficult child out it was in the middle of summer, which made my vision of him being homeless a little easier, but we never gave him the option of coming home. He went to rehab and then to a soberhouse. He relapsed, but is now back in a soberhouse because he knows he can't come home and that it's the best place for him.
You cannot allow your difficult child to continue to come home and do what he is doing to you. He will never change if you do that.