Hi pbartow,
Based on your description, I would like to confirm more information:
1. Do you mean that you want to store all the contacts and have them available in Outlook and devices?
2. When you mentioned that “It appears that there are some serious limitations to the GAL, since there are only a few fields available” please give me more detailed information about the limitation.
If it is the case, there are two methods for sharing contacts in Office 365:
1. If you add the external contacts in the global address book, the contacts will be available for the whole tenant users.
Create a New External Contact: help.outlook.com/.../ms.exch.ecp.newcontact.aspx
2. Grant full access permission of the Contacts folder to others.
One user can share the contacts in his\her mailboxes to others by granting the Contacts folder permission. You can do this with the PowerShell cmdlet Add-MailboxFolderPermission.
Thanks,
Anna Shi