Tell me please if there is any difference between the following sentences.
He is not a doctor to give health advice.
He is no doctor to give health advice
These sentences mean the same thing.
Saying "he is no doctor" conveys a little more emphasis on the negation, as if the person has hinted that they are doctor and already given advice and you are emphatically saying he is not. It suggests a degree of disrespect toward him as well and sounds a little colloquial to me. Saying "he is not a doctor" is a more neutral phrase that conveys his status (not a doctor) as a statement of fact.
While they are not grammatically wrong, both of these are sentences sound to me like something an English learner would be likely to say, not an educated native speaker. Consider instead
He is not a doctor and should not give health advice.
I'd be more likely to hear the "be to" phrasing when speaking directly to a person instead of about them as in the common idiom
Who are you to criticize me?
But I can't think of any version of the sentences you provided that works with the "be to" form. For example, "are you a doctor to give me advice?" still sounds very much like something a foreign visitor would say.