Although my knowledge of UK employment law is not great, I've employed 50+ people over the last 20 years and in all the contracts, we have a clause that states your normal working hours are X but that you agree to work more than 48 hours on occasion and to work from different offices.
Its against the law to make somebody work more than 48 hours a week, averaged over a 17-week period. This exemption doesn't apply to some jobs such as full-time carers, army, some police positions, all emergency services, as per BenRG's post. Whether against the law or unreasonable, I don't know but its also frowned upon in some way to change their working location permanently or regularly.
But you can ask employees to voluntarily agree to exceed both this 48-hour limit and the working location limitation "on occasion". As I say, this has been in every contract I've ever seen - mainly so if they end up working a long week, or you ask them to go to London to work for a week, no laws are broken when they agree, and they can't disagree because it was intimated that this might happen when you employed them. They can choose not to accept this clause or cancel their agreement at any time with 7 days notice if you are abusing it. But its completely commonplace in all employment contracts I've ever seen, as its much harder to impose these things 3 years down the line than at point of employment.