"Meu pai tem cinquenta anos de idade."
you can say someone is "fifty years of age" too - not typical, but not wrong either
The sentence invites to such a formal/literal translation, it should be accepted (reported)
Because native English speakers don't say it. Of course they would understand you, but they would also be immediately aware that you were not a native speaker. They might say "My father has fifty years still to serve", but that would be in countries like the USA, which award such long terms in prison. In the UK sentences are sometimes given a number of years before parole can be considered, but never as many as 50+.
would you either say "ser # anos de idade" or "ter # anos"? is mixing those two constructions natural?