Proving Lagrange's Theorem I had no idea how to start the proof so I cheated and looked it up, and the proof that I can understand uses cosets. How do you know that you should start with cosets to perform this proof? I spent about half the exam time trying to think of ideas and ways to try and prove that the order of an element divides the order of a group, but ultimately I ran out of time and had to leave the problem blank. I would never have thought to use cosets, and didn't even know that cosets of a subgroup partitioned the group, much less be able to prove that on the spot during a test. So I guess my question is, how do you know what concepts will work for a proof, considering you have so much knowledge stored of the subject from class? Out of all of that, you have to specifically choose one particular concept and derive the proof using that, but how do you gain the insight to do this? Also, is there an easier approach to proving Lagrange's theorem more directly instead of trying to come up with something clever like using coset partitions?

Proving on demand under time pressure is difficult. It just is. It isn't a realistic reflection of mathematics research, and I hope you are cutting yourself some slack.
I can't speak to your specific question because when I first learned group theory, the relevant section of the book was called "Cosets and the Theorem of Lagrange." So, hard to miss. I'm a little surprised this was open as an exam question, since that would suggest it wasn't covered directly, which I would not have expected. 
