Нельзя.1. Можно избавиться от параметра "a" (и в запросе и в коде), а отталкиваться от того факта, что $value = array.
1. Типов массивов может быть много.
2. Дефолтный плейсхолдер без типа однозначно может означать только строку и ничего больше.
Ради экономии одной буквы ты предлагаешь сделать код нечитабельным и неотлаживаемым - понять, почему запрос повел себя так, а не инече, можно будет толькео после адовой отладки, а не просто дампом переменной.
Можно, но до сих пор никогда не требовалось.2. Если указывать тип массива (т.е. не "a:ids", а "i:ids" или "?i"), то вместо $this->escapeString($value) можно будет более подходящее $this->escapeInt($value) писать.
потребуется - будем делать массив интов, а не [массив держим в уме], пишем инт.