Since it's so localized chances are it's an insect sting/bite. I know you spoke to a pharmacist, but pharmacists specialize in medications and interactions. They really can't recommend medical advice.
What you should do is examine his ear and see if you can find an injection site from a stinger. Get a pen and mark the outline of the swelling and redness. If it grows then you have to get him seen pronto so that he can have immediate treatment. If you notice increased swelling even without a pen, get him immediate treatment. If the skin on his ear starts to feel hot, that could be a concern as well.
In any case you need to call the pediatrician even if it's after hours to get appropriate advice. He may suggest that you go to the pharmacy and get Children's Benedryl with a proper dosage. Benedryl will not print anywhere or give on their customer line any sort of dosage information for children this young as they don't want the liability, but your pediatrician should have dosage information. He may suggest oral Benedryl (which you can get dye-free) or he may suggest a topical cream antihistamine.
Until you get your doctor's advice, get some ice and wrap it up in a plastic baggie and have your son hold it to his ear. That might reduce the swelling. Especially if he banged his ear on something and didn't tell you.