Of course the company can. Whether or not that is a good idea or not depends on the requirement, compensation, alternative options. I've had a holiday booked 4 months in advance canceled a week before due to the requirements of work. In my case my boss reimbursed the flight money and rebooked me in for a similar holiday a few weeks later in a much better hotel with a couple of K spending money.
IN the OP's case, it is quite clear that the 2 people on holiday should have their leave cancelled.
The UK in particular has very minimal employee rights. the company can dictate how and when you spend your annual leave, and can make changes to the dates they told you.
Its even in my contract if my employer cancels holiday after approval any costs to me will be reimbursed.