I think that limiting budgets is practically impossible.
Let's just say there was a way to audit expenditure at year end, even IF they could place a value on items not charged for (what about a "suppliers" development time?, or "free" flights if an airline sponsors you?, free fuel?, free team wear? - how do you place a true value on any of those things?) - There would be so many ways people would try to get around the difference between cash out and value of items coming in.
The big problem I can see is that auditing takes time, it's not clear cut at the best of times (let alone on the F1 budgetary maze) - so you would end up with championships being protested after the event, very unsatisfactory for a sport.
You need to know who has won when they cross the finish line....it's bad enough when cars are technically protested (although much easier to measure and usually happens within hours, not days or weeks).