Do you mean that the newly created customer should have the 'category_id' field value = 'Main Customer'?
Firstly if category_id is a many2one field domain="[('category_id', '=', 'Main Customer')] this domain should not work. There should be a record ID instead of 'Main Customer' for example domain="[('category_id', '=', 1)] or you have to add another field in the model for category_id which has "Main Customer" records id as a default value.
assuming that this field is a selection field:
`field name="partner_id" context="{'default_category_id': 'main_customer'} `
adding context like this to the field in the view should be enough for your purpose. you might also want to see some example in the "crm.lead.form" "partner_id" field.
assuming that this field is a many2one field:
field name="partner_id" context="{'default_category_id': record_id}
(here record_id is the record id of Main customer. Or if you included the default category_id in the model and view you can replace record_id with the field name of default category id that is set to "Main Customer" record)
adding context like this to the field in the view should be enough for your purpose. you might also want to see some example in the "crm.lead.form" "partner_id" field.