Short answer
HubSpot's associations API docs say associations can exist within the same object, for example contact to contact or company to company. Add labels to say what the relationship is. HubSpot's KB says you can import one file to associate records of the same object, selecting a checkbox to include same object associations. Workflows can create associations and apply, update or remove labels.
1. Labels in the data model
The associations tab in my demo portal shows labels for each object pair, including company to company.

2. Examples
- Contact to contact: Spouse, Assistant, Referred by.
- Company to company: Parent and Child are built in.