@Michael_Soprano There may be many other ways to address your use case. I'll focus on the specific questions you asked.
1. This error generally appears when user try to define fields at the root level, Instead they should extending XDM class "XDM individual profile" and field groups, using the allOf structure.
Steps to fix : a. Select standard class >> b. Add default field groups (Like identity) OR Add custom field groups >> c. add custom field
Note: Do not add field directly at the root, this will let AEP manage fields through filed group and classes.
2. Custom class is useful to define unique structure specific to your org that don't fit into standard XDM. Important to note that to use custom class data in RTCDP, you will likely need to establish relationship (transform and Join) with standard schemas (e.g. XDM individual profile).
2 Cents: Consider using standard classes and filed groups where it is possible, as this ensure better compatibility and ease of use with RTCDP.