Is there a way, based on some condition can I connect to different content services? e.g.: I have two different discover services and based some scenario I would need to fetch data from an another discovery/content service. Is that possible?
Yes you can. As Nuno mentions in his comment, you may opt not to use the CIL library in your web application and use a Web Service Reference to directly connect to the OData Content Delivery service. This means that you can rig up your own logic to determine when and where to make the connection.
Tridion's (SDL Web's) OData implementation follows the OData protocol documented by Microsoft (e.g. here: http://www.odata.org/documentation/). So you can leverage it however you need in your implementation.