I understand that if I refer to my heart (my leg, my hair, etc.), it is third person singular and so I should use "WAS", but there's a song called "If my heart WERE a ball" that brought this question to me. Is there a difference on its use or is this a mistake?
It's a special form of "to be" used in counterfactual clauses. That is when what you are saying isn't true: my heart is not a ball.
Here is a reference to that use:
Wikipedia "use of the past subjunctive"
"The main use of the past subjunctive form, were, which is also known as the irrealis is in counterfactual if clauses."
Another reference discusses the form extensively:
Thoughtco "past subjunctive"
In ordinary speech, in your example sentence, some people will use the form "was".