He swore to name his son after his friend, but he wants to change his mind
If you swore to name your son Khaalid, then you decided to give him another name, then you should offer expiation for breaking your oath, because Allaah says (interpretation of the meaning):
“Allaah will not punish you for what is unintentional in your oaths, but He will punish you for your deliberate oaths; for its expiation (a deliberate oath) feed ten Masaakeen (poor persons), on a scale of the average of that with which you feed your own families, or clothe them or manumit a slave. But whosoever cannot afford (that), then he should fast for three days. That is the expiation for the oaths when you have sworn. And protect your oaths (i.e. do not swear much). Thus Allaah makes clear to you His Ayaat (proofs, evidences, verses, lessons, signs, revelations, etc.) that you may be grateful”
For more information on this expiation, please see the answer to question no. 45676.
It is not clear to us what you mean when you say “This baby is the first son I am blessed with and I fear for him.”
This has nothing to do with naming him Khaalid or Battaal, rather you should ask Allaah to protect him.
You should choose a good name for him, because this is something that is recommended by sharee’ah. See the answer to question no. 7180.
And Allaah knows best.