Is there a way to use the Core Service to communicate with both Tridion 2011 and Web 8.5?
I need to create a client that can read from Tridion 2011 and write in Web 8.5
Obviously it will depend on what technology you are using for the client. For example in a .NET programme, you could host both the 2011 client and the 8.5 version, but then you'd have to create separate appdomains which might be more work than you'd like.
Your best chance is to use the 2011 client assembly to communicate with both. That will mean that you can't use API features that were introduced since the 2011 version, but in practice, that's probably not a problem. Obviously, then you'll need to connect to the 2011 endpoint on the 8.5 server.
I don't see why not, but you will have to instantiate two clients, one for each of the environments. The reason being different CoreServiceClient.dll-s, different addresses, etc. Once you have the initiated you may use one for reading and the other one for writing. Keep in mind that there might be differences between the format of the data between the two, so you may have to do some small manipulation before writing.