re: Where do we find the DB-schema for the directory database?
The code that build the tables for Connections can be found in the
class.schema.php you should be able to derive the schema from the code.
re: Is it possible to add fields so we can indicate mail vs email preferences?
Yes, Connections does support custom fields. I’ve started documenting some of it. Take a look at the Tutorials sections on the Documentation Table of Contents page You would likely want to use a radio input for mail/email contact preference, so I would have to add a radio tuturial bu the process would be pretty close to the checkbox group custom field tutorial.
Hope that helps!