One thing that can't factor into any discussions between you and your employer is this external project.
I think the best you can hope for is if the company wants you to be based in D instead of B, then the company would pay your lease buyout in City B. You can perhaps remind them that you paid own accommodation during training, since they would presumably have had to pay for lodging for a B-local employee during training at C.