How to check the custom field as External ID and Unique field using apex class
its achievable with the help of DescribeFieldResults on each Salesforce Objects, below is the sample code for your reference:
Schema.DescribeFieldResult Acc = Account.Account_Number__c.getDescribe();
System.debug(Acc.isExternalID()); // true
System.debug(Acc.isUnique()); // true
System.debug(Acc.isIdLookup()); // true
There are three Unique/External ID fields per object defaults, if you want more then we can increase upto Seven External ID Fields with the help of Salesforce Support team.