If my companies AD is the SharePoint user base, how would I get all the employee's First/Last Name and Extension in C#?
I plan on displaying them with SPGridView.
There is no client side code to iterate through user profiles. You can do through server side, Reference Here
If you have no choice other than client side, there is a workaround. Note:
Your User profile data is perfectly managed.
All users have the proper hierarchy.
Now start with company Top level employee and get all his/her direct reports
_spPageContextInfo.webServerRelativeUrl + "/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='" + encodeURIComponent(accountName) + "'&$select=DirectReports"
After getting all direct reportees to top level/CEO , iterate through these users and try to get their direct reportees, continue looping till you get last or zero direct reportees. This way you will get all employee.