Firstly it’s not legal, but you have to weigh the options of taking a cut or not having a job. there are employer who are most certainly having a difficult time with the recession - others are simply using it as an excuse to cut some overheads and possibly loose some surplus staff.
In most cases if a company didn't want your services they would simply terminate your contract by giving you a months notice; this doesn't cost them anything and all they have to do is say they could no longer afford to keep you on.
I agree the practice of cutting the base salary and then terminating the staff is a load of BS. HOWEVER, under normal circumstances the amount of benefit that you would gain (gratuity) at the premature termination of a contract is negligible - i calculated once that if you terminated your (indefinite) contract after between 3 and 5 years into the contract your gratuity was about the equivalent of 2% your annual salary - not much money after all!
There is possibly a loophole that you could use. If your contract includes amounts for accommodation and transport (as well as a basic salary), then get the company to cut back on these items.
For example if the company wanted you to take a 10% drop in salary and your contract was laid out as follows:
Basic salary 3000, accommodation 1000, transport 1000 = total of 5,000
Then I would suggest that you have the company cut back 10% (500 AED) from the accommodation or transports amounts.
“Perks” such as accommodation and transport do not form part of the gratuity or severance calculations, and as such can be sacrificed (if need be) without effecting the end amount of your gratuity payment.