My feeling is that this is a borderline case, as you say 3 months is unusual at this salary level, but it is not unknown.
Your big problem, however, is what you can actually do about it. You can refuse to accept the new contract, but then your employer could (as far as I can remember) say that you are therefore no longer able to fulfil your duties, and end your employment. You could then take it to a tribunal to decide whether this was unfair dismissal or not, but, to be honest, even if you win the case you're probably not going to make much out of it.
I am guessing that you don't have a union to negotiate this...if you do, then you should use them now.
The other thing to consider is how likely it is that your employer would actually hold you to the three months. After all, when someone resigns employers usually want them out of the building as soon as possible - they are not going to work at full capacity, and they are likely to demoralise other staff around them. It is common that when staff leave that the notice is negotiated down to a month or less, but with an agreement that they will be 'on call' for a month or two should a specific question arise.
You will find, however, that when applying for jobs having to admit to three months notice counts against you, so it is well worth trying to find out now whether this is likely to be negotiable so that at least when asked you can say 'three months (typically negotiable down to one month)' or similar.
Hope this helps, and keep asking around to get other people's views on this, I wouldn't claim any of the above as gospel!
Andy Millar CEng MIET CMgr MCMIhttp://www.linkedin.com/in/millarandy
"The aim of argument, or of discussion, should not be victory, but progress." Joseph Joubert