Do I get this correctly that you want to have a single document type on multiple sites and have some fields available only on one of the sites?
If so, and you don't mind storing empty values in those fields on other sites, you can just hide them on the sites where you don't want the fields to be available on.
1. Edit your document type.
2. On the Fields tab, select the field that you want to hide.
3. Scroll down to Field advanced settings and enter a macro condition into the Visible condition box. Example:
CurrentSite.SiteName == "CorporateSite"
4. Save the field.
This will display the editing field only on the Corporate site and hide it on the other sites.
You gotta make sure though, that the fields are allowed to store empty values (check the Allow empty value box when editing the field).
Does this make sense?