We have both MC and Service Cloud (connected with the MC Connector) and wanted to know if its possible to use a customer unique ID (External ID in Service Cloud) as the Subscriber Key in Marketing Cloud whilst retaining all Marketing Cloud connect features? i.e. viewing related SC records email sends, or opting in/out subscribers through SC?
The mapping of the SubscriberKey is done automatically when sending to Subscribers from Sales/Service Cloud. So every automatic process, like salesforce data entry events in Journey Builder, etc. will use the Contact/Lead/User-Id as SubscriberKey. Synchronized Data Sources are also automatically set up to use this Id as SubscriberKey.
The connector will only recognize a subscriber as Sales/Service Cloud subscriber if the Salesforce-Id is used as SubscriberKey. Therefore the full functionality of the connector is only usable when using this Id.
The only thing you could do to use your own field as key - which is definitely not recommended! - is sending to custom data extensions only where you set up the send relationship to another field.
However, this would lead to a non-functional automatic sync of Unsubscribes via HasOptedOutOfEmail field. Furthermore relating tracking information, etc. to the record in Sales/Service could won't work anymore.
The Contact ID or Lead ID is converted into the 18-digit subscriber key that is stored in the Marketing Cloud during sends.
Short answer: No, you cannot do this without negatively impacting the functionality of the connector.