Almost everybody speaks English in Portugal. Waiters certainly do.
They will, for sure, be very surprised with your question, like "peanuts in food? Why would we spoil food with peanuts?"
Anyway, I think you should just take a card with you and give it to the waiter, saying:
"O meu filho tem uma alergia severa a amendoins. Pode confirmar que a comida não contém nada relacionado com amendoins, por favor?"
This means "my son has a severe allergy to peanuts. Can you please confirm that food has nothing related to peanuts?"
I don't think you can pronounce it, sorry. Our pronounce is a little strange. But they will understand you in english.
About oil: we (portuguese) use sunflower oil, that may contain a percentage of corn oil, or soy oil, to fry things. For sauces, we use olive oil. Grilled fish is always served with olive oil (a small botle at each table, in restaurants). Salads, etc, also with olive oil.
I searched all products I have at home. 3 of them acused peanuts: chocolate, my morning cereals, and other fruits like nuts (the package says they might have been in touch with peanuts). Beans, oil, ketchup, rice, pasta, olives, etc - well everything you can imagine at my kitchen is "peanut free". Your son might just decide to live in Portugal!