No, they mustn't do that.  It's very bad policy, because promising future benefits decades in the future is unpredictable and risky.  Better would be to do just the opposite (and what most of the private sector has moved to, for good reason) -- "now" money contributed to an employee's 401(k) in each paycheck rather than an open-ended future benefit that's unpredictable.  

Then setting salary levels is pretty easy.  It's a matter of supply and demand, like the pricing of anything else.  Your success at attracting and retaining the qualifies labor you need determines optimum compensation levels.