I firmly believe you need to punish them for taling to each other that way and for laying hands on one another. I mean serious "go to your room" or "lose toys" punishement.
But a very important part of that is planning. They are learnign to negotiate this stuff and some of the rules of battle are not clear to them. Some behaviors are off limits. They will alwats get mad at each other but they need to learn how to fight loveingly.
First, in a moment of peace, sit them down and say "Here si a list of the things we dont' ever say to each other becaue it is hurtful and unkind." Second, "Here are some things we can say when we are angry/ frustrated with each other." They need to very clearly know what you will not accept.
Also, consider banning them from playing together. They will hate that and ally themselves against you :)
I have six year old and she is somewhat devious about it - she will say to her toddler sister, basically, if you don't do it my way, "you are going to play all by yourself." Very calm and logical - but really mean. She gets sent to her room, no toys. And it is working.
By the way, we only have a hitting or pushing espisode once or twice a year, mostly by the toddler, but that is completely out of bounds at our houe. I didn't allow my older one to play with any toys or watch any tv for a week the time she pushed her baby sister. Consequences!!
I don't think fighting at age 4-5 means they won't be friends. But you need to structure the relationship and dialog at this age. If you don't step in an d put a stop to the nonsense and simple meanness, then they will never develop the skills to deal with each other and other girls - and THEN they will not be friends. Get tough.