"Have you already talked with the doctor?"
Translation:Ты уже говорила с врачом?
You've lost 'already' and the pronoun in your version. If you add them, you'll get: Говори́л ли ты уже́ с врачо́м. I think this answer should be accepted.
No, unfortunately I don't have a good source to direct you to. :(
I would describe «щ» is the soft and longer version of «ш». However, this doesn’t help much since soft/hard distrinction is a language-specific thing and doesn't describe the actual pronounciation...
Not every consonant cluster triggers full forms of the prepositions. This is related to the language history and it’s pretty illogical sometimes.
Before врач, you use во (пойти во врачи 'to become a doctor', lit. 'to go into doctors'), but not со.