Yeeeeaah I've finally rolled the combination I wanted!!!!!! It took me only 16487 reloads
You picked the wrong game, if you like loading screens so much, you should play Deadfire.
Well on my pc save games for MM6 load in no time.
And that was a lie, actually. In fact I used a hex editor to edit my save game (as you suggested), and I managed to locate the two bytes (supposedly two) that control what portrait the hireling will have (and also the byte for their type - Scholar, Mystic, Pirate etc). Unfortunately, the location of those bytes doesn't seem to stay the same after you hire another hireling - the values for the first one seem to get re-written somewhere in the area that goes after the original offset. So I still haven't figured out a reliable method for adding hirelings to your party via hex edit.
Anyway, the values one needs to change are placed somewhere after the data for the characters from your party - you can search for their names (they are explicitly written as ascii text in save game files) in text mode to get to that offset.
Damn there are like 300 different portraits in the game
Update:
On the left there is the save game made before hiring a second hireling. I hired a character that was standing just in front of my group and made another save game right after - you can see the dump of its contents on the right. Inside the red rectangles are respectively the values for the portrait and type of the first hireling, the blue ones encircle respectively the portrait and type of the second hireling. What the other values inside the green rectangle mean I don't know for certain yet. You can notice that initially the data for the first hireling were written to another place (orange rectangle).
Update 2:
The value 16 bytes earlier the type of the hireling (so, for example, it's the byte containing value 81 which is just above the byte with value 04 in the red rectangle) determines their reaction, i.e. what they say to you when you click on their portrait. 81 means they don't say anything, I guess it's the normal reaction for an engaged hireling.
Update 3:
Now look at the byte that is located 32 bytes after the byte for the first hireling's type (which value is 04). The value of that byte is 56, and it determines what quote your hireling will utter when you click on the lower item in the hireling's menu (you click on the portrait of the hireling to bring up this menu). 56 is assigned for topic 'Benito Tellman'. The first quote seems to be fixed for each hireling type.
Update 4:
You can also change the name of the hireling - search for the current name in text mode to get to its location in the save game.
Update 5:
By setting the bytes in the purple rectangle (see the updated picture) you can add quest-related menu items to the hireling's menu. For example, changing the value to 03 and 04 adds an item named 'Goblinwatch'. 03 stands for the state 'the quest dealing with Goblinwatch has not been taken', so when you click on the item the hireling acts as if he's giving you this quest (handing you the key to the goblin-infested keep); 04 stands for the state 'the quest dealing with Goblinwatch has already been taken', so when you click on the item you receive the reward if you've done the necessary steps, as if you have just completed this quest.
Update 6:
The bytes between those inside the purple rectangles can also be assigned to add items to the hireling's menu (on gaining skill expretise/mastery, acquiring guild membership) but that doesn't seem to be working properly.
Not sure why I'm going on with this autistic research, it's kinda fun but I could be actually playing this wonderful game all this time...
Update 7:
It turns out that if you set the values in the cyan rectangle to all zeros, the hireling will be removed from your party.
Maybe this will be useful to someone.