Of course we should. But I'm not convinced barring four-stars from going to work with Raytheon or Lockheed Martin is the way to do it. First off, defense contracting is run through the services, not the combatant commands, so there's 11 four-star officers off the bat who aren't making contracting decisions compared to six who are. Remember, military services man, train, and equip the Joint Force. Combatant Commanders employ the Joint Force. The service heads have no command authority in the field. They are merely force providers to the Combatant Commanders.
What's more, funding allocations to the services start with what's called the Defense Planning Guidance, which is a document issued by the Office of the (civilian) Secretary of Defense. This is then broken down into Service Program Guidance about where each military service spends its money. Services then come up with a Program Objective Memorandum outlining the budget they need, which then goes to the Joint Staff, because the Joint Staff's job is refereeing interservice food fights. This then goes to the (civilian) Presidential administration, who presents a budget to Congress, who approves it.
So there are many cooks in this budgetary kitchen, and if Congress doesn't like the military Congress funded and approved for the President to use, then perhaps Congress can look itself in the face and ask itself why it's not fulfilling its duties under Article I of the United States Constitution, instead of trying to pass the buck onto the President's subordinate officers, when it's ultimately Congress who controls the purse strings.
I keep saying "Congress" for a reason . . .