Hmm, I would assign a single variable for "Final Story", or whatever name you choose. Then, upon completing each story mode, the variable will increase by one. Then you can set it so that the Final Story becomes available when said Variable becomes "equal to 3".
Not sure about the rest, mind. I'd have to look into it some more, and since I'm not incorporating anything like that in my project, I probably won't get round to it.