Compositor: dilate/erode except on predefined edges?
So this is as close as I could get. It's not ideal but I could go in frame by frame and remove the excess outline created from the hand you see on top of the lowered fingers (middle and ring).

I'll try to break down the process. If someone can find a way to fully remove those lines I'd love it:

Step 1: Duplicate mesh to a second layer, remove fingers from the first layer.



Step 2: Remove the back-faces from the hand and fingers with a mix of your material and transparency.



Step 3: In compositing, instead of using the "dilate/erode" node to create your outline, use "filter->filter->lapace" node.



Step 4: Specifically for the fingers, you'll take the difference between the outline generated from the hand on the first layer, and the outline generated from the fingers on the second layer (you cannot have fingers on the first layer and you must have the whole body on the second layer).



Coming out of the top outputs of "fingers.R" and "hand.R" in the image above are just the outline created from the lapace node, the skin color is added at the end of this tree with the "alpha over" node.

I hope I'm making sense.
Again, freestyle just doesn't work for me because of it's inconsistencies; I'd prefer to have complete control over where my outlines are generated. There have been some instances of freestyle where I lose parts of the outline around the main body, and that just won't work.