Bitcoin multisig has nothing to do with cryptographic secret sharing schemes. Traditional secret sharing relies on fancy mathematical tricks like representing some secret as a polynomial and handing out, say, 10 points on that polynomial, such that any 5 of them are enough to determine what the original polynomial is. Bitcoin does not need that because its job isn't hiding secrets - rather, it's verification. In the case of Bitcoin, you simply have everyone make their signatures and then have miners directly check if at least 5 of the 10 signatures are valid. So the Bitcoin protocol can theoretically be extended to support any kind of hierarchical, anarchical, pseudorandom or whatever other ruleset for transaction validation (that's right, we could implement gambling right in the blockchain!) provided that no human judgement is required to determine validity (so, "redeemable by the owner of 178gb... if <insert name here> is deceased" won't work without a trusted authority).
As for what is possible right now, I'm looking at
https://en.bitcoin.it/wiki/Script, and it looks like there's a lot of opcodes that nobody seems to be taking advantage of yet. Might something like
(sig) (pubkey) OP_CHECKSIG (sig) (pubkey) OP_CHECKSIG (sig) (pubkey) OP_CHECKSIG OP_ADD OP_ADD 2 OP_GREATERTHANOREQUAL
(sig) (pubkey) OP_CHECKSIG (sig) (pubkey) OP_CHECKSIG (sig) (pubkey) OP_CHECKSIG OP_ADD OP_ADD 2 OP_GREATERTHANOREQUAL
(sig) (pubkey) OP_CHECKSIG (sig) (pubkey) OP_CHECKSIG (sig) (pubkey) OP_CHECKSIG OP_ADD OP_ADD 2 OP_GREATERTHANOREQUAL
OP_ADD OP_ADD 2 OP_GREATERTHANOREQUAL
for a "2-of-3 per group, 2 groups out of 3" transaction work?