Have* this is because has* is past tense and have is more appropriate since there are multiple things you are referring too (Mercury, Venus, Earth and Mars). To be honest, these planets have a molten core.
B) I think sorry if wrong I tried
Subordinate clauses usually begin with a subordinate conjunction or a relative pronoun.