My limited understanding is that this is against EU law and rightly so (at least as far as competition amongst other EU firms goes). Contracts should be awarded to the company that provides the best value-for-money - or else the tax-payer will either pay more or get a worse product/service. The nationality of the company should not matter.
In addition to risking wasting taxpayer money and providing worse services, the government would also risk losing British jobs as British firms overseas may face retaliatory measures. If British firms are confident they are providing good value-for-money, let them compete at home and abroad with firms from other countries. If they are not, they do not deserve protection; they should improve.