As John said, you could use the ccr tree in leiu of the directory. Since any ext can be dialed from auto attendant, whether it has an mb or not, record your Path 0 prompt with "For a listing of resident's extensions, press 1", then make path 1 a leave msg into an info box- let's say 500.(this, because I've found this greeting needs to be changed regularly, and it's a lot easier to train a customer to rerecord a greeting in an info box, than in a ccr path.)
Record the greeting in that box to say- "When you hear the name of the person you are calling, press *, followed by their extension number.... Jane Doe- ext 242, etc...