Yes, you would have to split out the ModelMeshParts and draw the transparent ones in the second pass. Note that you want depth writes to be off, but depth test to be on, when drawing back-to-front.
To know whether a material is transparent or not, you'll have to come up with some convention. What I do is put an annotation on the technique used in the effect, and thus use different techniques for the transparent and opaque parts. If you're using the BasicEffect, that won't work, as you don't have control of the technique; you'll have to write a custom model processor that somehow figures out what's transparent, and adds that information to the Tag of the mesh (or mesh parts).
Jon Watte, Direct3D MVP
Tweets, occasionallykW X-port 3ds Max .X exporter
kW Animation source code