Does Ripple support subadditive trust? Ripple allows us to encode how much we trust each person. For example, I can trust A with $10K and B with $10K, and will then accept IOUs of up to $10K from each as valid dollars.

In the real world, this does not mean I would trust them both with $10K at the same time. Perhaps the risk associated with A and B is highly correlated, or perhaps I just don't want to risk $20K of my money with others. For example, I could trust A and B together with $15K. So if I already have a $10K IOU from A, I will only accept up to $5K IOU from B.

In general, I can see myself trusting 10 different people with $10K, but certainly not trusting them all together with $100K.

Does Ripple allow encoding correlated trust relationships, or at least a specification of "total" trust? For example, I could define some trust relationships, including $10K to A; and I will further define that my total trust is $50K. If I hold $20K IOUs from others, I will automatically only accept up to $6K from A. ($10K * (1 - $20K / $50K))
Ripple doesn't support anything like this directly. You could get the effect if you really needed it though. Simply create a new account and extend the amount of total trust you want to that new account. Then have the new account extend the individual trust to each of the other accounts.

This will mean that people paying you with IOUs from any of the accounts in the group will have to ripple their payments through the new account you created because you won't accept those IOUs directly. You will wind up with IOUs from the new account regardless of which IOUs from the group they try to pay you with and your new account will hold the real IOUs. So the credit you extend to the new account will limit the total amount of IOUs from that group you can hold.

When you make an outbound payment, you'll go through the new account and reverse the process, trading in the IOUs from the new account for the "real" IOUs.