Better Transparency than Skulduggery
Pay confidentiality is only ever there to protect poor HR processes. Fair slaries motivate people and allowing people to know what they earn and how the earnings are set in relation to other people is a good indicator that the company is not just fair but seen to be fair. If salaries aren't fair don't be surprised if people walk - whether they are published or not.
I heard of one case where a company was trying to shed people and, as if by magic, there was a 'slip up' in HR that revealed exactly how much less the people they were wanting to get rid of were paid than the people in charge. All of a sudden, getting volunteers for redundancy wasn't such a problem after all.