A lot of good suggestions in this thread already, but keep in mind that what might have started as "not enough recovery" and classic "overtraining" could have eventually triggered other conditions by keeping your body in a state of stress for so long. So it might be really difficult for any medical professional to give you a timeline for recovery.
You might not ever really find a root cause either, as so many variables are now intertwined: do you have insomnia because of some other issue like too high or too low cortisol, or is your insomnia a primary condition that is preventing you from recovering properly. Is your iron/B12/whatever low because you've developed an autoimmune issue and inflammation is affecting your nutrient absorption, or are your levels low because you have a genetic absorption issue? Ferritin, full iron panel, b12, vit D, CBC, thyroid/TSH, coritsol, and CRP are all good things to test, but they may all come back within range, or low end normal. Do what you can to get adequate rest (I have insomnia where I don't get deep sleep and it blows but a neuropsych really helped me with meditation and stuff), eat well (more is better), and try to minimize stress and realize you probably can't force your body back into training until its ready.
Your best bet is probably to find a good PCP who has some experience with athletes. As someone mentioned above, it really helps to have a doctor who understands optimal values for athletes vs what is good enough for the general population.
Best of luck, hope things improve soon.