It might be I am missing something but I will try to answer:
1 I assume you mean the URL? Yes you can when creating the client object
var service = new Acmeco.AcmecoService();
service.Url = "oneUrlOrTheOther;
2 What do you mean? When you add the reference you have to give it a name which puts it in a unique namespace. Like Acmeco in the previous example.
3 That kind of depends on what in that 5% difference you mention? I don't quite understand how you end up with a difference in the WSDL for the same webservice on two different hosts. I would think only the addresses would be different but the methods and parameters would stay the same. Perhaps you can ellaborate?