I'm wondering if nCloth could do that. I think that coupled with some particles clouds and whatnot would do the trick.