goslow: Why have you continued to pay a higher monthly subscription for 30 day rolling contract over a 4½ year period rather than taking out a longer term subscription?
Because it's a shared house, but the contract is in the OP's name. He doesn't want to be on the hook for 18 months when the tenancy is probably only assured for six month blocks, and co-tenants might disappear or change at any time? I suspect with multiple people paying, getting agreement to change is difficult (eg duplicate costs of overlapping a new connection, possible new installation or Openreach reactivation charge).
I've every sympathy with the OP, but appealing to loyalty is unfortunately wrong. This is a commercial contract, loyalty is an emotional concept that doesn't have any relevance here -VM are a business and aren't loyal to him, he isn't or shouldn't be loyal to them. VM's offers are legal, and indeed normal practice for larger ISPs. As I see it he has three options:
1) Bite the bullet, commit to VM for 18 months and a discount deal, cross fingers nothing goes wrong with housemates. if he moves, hope that he can either use the house moves process to take the deal if he moves, or the out of area process if VM can't service a new address.
2) Keep paying the undiscounted 30 day notice rate. At sixty quid a month that's very poor value.
3) Cancel VM and go with ID Net "Ultrafast Basic", no fixed term, £35 a month for 150 Mbps although a £50 a month setup charge if there's not currently an Openreach ONT. You'd also need to buy your own router as well, a TP-Link Archer C6 Gigabit would be a fair choice at around £35.