If you have received a free Christmas lunch for many years, and everyone has known about this benefit, it is possible that you may be entitled to it as part of your terms and conditions. As a result of 'custom and practice', it could form part of your contract of employment. You may therefore have the right to refuse to pay for the Christmas lunch.
In any event, your employer cannot deduct the money from your pay packet unless your contract clearly allows this or you have agreed to the deduction in advance. If any deduction was made without your written consent, you could bring a claim for unlawful deduction from wages.
You would be best advised to speak to your trade union rep, who could take the issue up on a collective basis with your employer. It's not worth losing your job over a hot lunch, whether it's free or not.