Should I write "I opened him the door." after I had made him open the door? (In that situation I had shouted to him to open the door.)
Really the verb 'open' is inadequate in that sentence, or is just less common using 'open' as that meaning?
No. First of all, if we compare with similar grammar like:
I gave him a spoon
I drove him home
I baked him a cake
then the analogous situation would be if I opened the door for him, and not if he opened the door for me.
But, either way, it doesn't work. The general rule seems to be that you can only use this grammar structure if the other person ends up owning the object. Since "he" doesn't end up owning "the door" we would instead say:
I opened the door for him
I made him open the door for me
Note: I don't find this explanation entirely convincing. In the above example "I made him" we can say now he owns the task that I made him do, but it's a logical stretch.
No, you can't use open that way, for two reasons. Firstly, because if you say "I opened" it means that you are the one performing the action of opening (but that's not what you want to say, right?) Secondly, because open is not ditransitive. Open takes only a direct object, which is the thing you are opening.
I opened the door
I opened him
means that you opened him as though he were a door.
I opened him the door
just doesn't make any sense.
If you mean that you caused him to open the door, you have to say something like
I had him open the door
I made him open the door
He opened the door for me
Some other verbs, like give or build can be used in a ditransitive way (like "I gave him the key") but not open, and even then if you begin a sentence "I verbed", it means that you are the one performing the action.
The sentence you want is :
I had him open the door.
I had him open the door for me.
The passive form is as follows (although you would be very unlikely to use it in this context):
I had the door opened.
Have someone do something is similar to make someone do something but make sounds very forceful.
You can also say "get" which is less formal, but this requires the to infinitive
I got him to open the door for me.
This is an example of the causitive, a great explanation on this subject is found here, covering causitive get, let, make, and have. Sometimes help is also included on the list as in I help him (to) carry the boxes
Of course, you can also say:
He opened the door for me.
Further details, based on your comments:
Verbs that can take direct objects are called transitive verbs (you may wish to google "transitive and intransitive verbs"
In your comments you gave the example I walk the horse the street. This is incorrect, as it should be I walk the horse down the street. I will take a different example
I walk him home
If you can say I walk him home then why not I open him the door?
This is because the word walk has 2 definitions
intransitive to go on foot
example: I walk to the cinema
transitive to lead [someone] somewhere
example: I walked my brother to the cinema
The word open does not have a definition meaning to make [someone] open, and so it cannot be used this way.
Many verbs in English have both transitive and intransitive definitions.
Sometimes they are the same or similar meaning, like with walk. Sometimes they are completely different:
I set the pen on the table
The sun will set at 8 p.m.
Sometimes they mean "make someone else do something", for example stop, however this is rare:
He stopped talking
He stopped her talking ( = he made her stop talking)
This does not apply to all verbs, in most cases we must use the causative.
In fact, in some dialects of English I open him the door informally means I opened the door for him (not what you mean).
In my dialect of English I might say to a friend
Could you open me that door please?
which would mean
Could you open that door for me please.
However, this is informal and regional.