I used to be into Roleplaying games, but I don't have much time these days, and my old group is scattered across the country, unfortunately...
Right now my attack placements are Very simple-minded. It just adds up the sizes of the parts, and rolls a die that has that many sides. So if you had say a head (size 100) and a body size (1000) and two legs (size 500 each), then the game would roll a 2100 sided die, as follows:
1-100 = head
101-1100 = body
1101-1600 = first leg
1601-2100 = second leg.
Once it hits a body part, it then checks for "extra" body part hits (fingers, eyes, etc.) and assesses in the same way whether you actually only hit a finger or the whole hand, etc.
There are a number of modifications I was thinking of... first of all, if you have as in your example an ogre vs. a human, and the ogre attacks by biting, then its head should be more accessible for the human attacker if it has just biten or is in the process of biting. In the game, this would just add a multiplier to the apparent size of the ogre's head, at least relative to attack rolls by the ogre's bite targets. For size differences in general, there are some complications with the creature bodies -- since they aren't all humanoid, and they also have stances (if they stand on their hands for instance, then hands should be like feet in attack placement rolls!). Hmmm... unless a titan/giant is stupid, its head should never be accessible to a human attacker... biting dragons are a different matter.
I don't know. As you can see, I still have to codify these things, but I'd at least like to account for stances as well as size differences. That would be enough for a while. In the end it will be set up almost exactly as you describe, with the body parts arranged in a list from top to bottom (depending on the stance), and then weightings given to each part depending on its size and the size difference of the attacker and defender. I guess that means the only complicated things now are making the top-to-bottom list from the stance, and determining size differences (a giant slithering serpent is still low to the ground, so humans should be able to strike it on the head regularly, but if it lifts its upper body up it might be able to bite a giant's head). Hmmm... interesting problem, anyway... maybe I'll insert this into the plan after I redo the movement options screen (when I re-add stances).