The government should just place a lien on payment. Let them do the work, but don't pay them the sum equal to the delinquent amount. They do it all the time on individuals, and that is for all income, not just that acquired by government contracts, so the corporations would still be ahead.
I see a lot of businesses that struggle to pay back taxes, and have seen some closed because of them. Tax cheats should be barred but not those who don't have the cash to pay back taxes. The IRS can levy if they have the money, and they move quickly and at times illegally to get large sums of money levied.