Можно ли указать два типа для аргумента?
Нет, только если в аннотациях/**
 * @param string|int $a
 */
function test($a) {}
Проблема в том, что вы не понимаете данную функциональность и пытаетесь использовать ее механически, просто "шоб було". 
Так никогда не надо делать. Любой механизм надо применять только если вы понимаете, как с ним работать и зачем он нужен.
В данном случае строгая типизация как раз и служит для того, чтобы не было винегрета из типов. То есть вы хотите строго противоположного. Для начала разберитесь, что такое строгая типизация, и нужна ли она вам.