Unfortunately you are stuck in the middle or two providers blaming each other for your failed number port. It is like two children squabbling, each blaming the other, rather than one owning up, taking responsibility and making amends to put things right.
I'd suggest that the issue has to be fixed between the two providers (business to business) I can't think of how an individual person/customer could get BT to reactivate a number.
In your situation, VM is responsible for requesting the number from BT. I am making a guess, but it sounds like the delays to your VM installation meant that the BT service had lapsed before VM took control of the number. VM will blame BT, BT will blame VM.
I'd suggest that you complete this OFCOM form regarding your failed number port and lost landline number
I believe there is a mechanism for OFCOM to get involved with failed number ports but it is expressly aimed at situations where the losing provider (in this case BT) is preventing/obstructing the number port from happening (not really your situation, unfortunately, so very likely will result in nothing happening to help you).
At worst, filling in the form, you will be logging a general complaint to OFCOM about how VM/BT have failed you in this process (which will be for OFCOM's monitoring purposes only and won't result in any kind of investigation). At best it might prompt some kind of OFCOM action (but don't get your hopes up as your case doesn't really fit the circumstances it is intended for).
There have been some past topics on here (now archived and unavailable, unfortunately) where customers have come back to the forum to report a lost number has been reclaimed successfully.
Those topics mentioned it was achieved by means of a 'favour request' from one provider to the other. I don't know the details or the process of how this works, just what was reported previously by customers. Considering what has been stated in the topic though, I would assume this means that VM needs to issue a 'favour request' to BT to make your old number available again so that VM can port it. There would be no particular reason for BT to do this, hence the name, I assume.
Unfortunately the processes for porting numbers are designed to happen automatically, and in huge volumes of numbers, by following strict procedures. Dealing with an individual 'gone-wrong' case requires human intervention and cooperation between suppliers to make it happen. It's generally easier just for the suppliers to say it can't be done.
Yours is a very sorry story of failure between VM and BT. I do hope you manage to make some progress with it and recover your number by some means or other.