1. Using become doesn't seem to violate rule B, which says "If the main clause of a hypothetical conditional is about the present or future".
Yes, that's right.
2. Do you mean if I use be to replace become, this sentence will be grammatically correct? That is,
You could be a doctor, if you had studied harder.
Yes, that's also correct, but it could then relate to the present
or the future. Your original sentence, where the main clause relates to the future
only, is correct, too. The reason I mentioned
be and
become was because you seemed to be confusing present with future in your post #4.
Let me make it clear for you:
You could become a doctor if you had studied harder.
The blue (main) clause is about the
future and the red (subordinate) clause is about the
past. It's rare for conditionals to be structured in this way but it is perfectly possible. What you're doing with this sentence is positing a
hypothetical future result of a hypothetical past. In other words, if I imagine a past where you
did study hard enough, I would be able to imagine a future where you become a doctor as a result of all that hard work. But since in reality you
did not study hard enough, I therefore believe that it is not possible for you to be a doctor at any point in the future.
With your sentence 1,
both clauses are about the past, where the action in the main clause is obviously located in time after that in the subordinate clause.
However I think usually the textbook will say it should be
You could be a doctor, if you studied harder.
No, that's a different meaning.