Isso não é possível do jeito que você tenta. Você deve ter um espaço reservado separado para cada parâmetro que deseja passar, todo o resto desafiaria o propósito dos parâmetros (que é separar o código dos dados).
$ids = array(2, 4, 6, 8);
// prepare a string that contains ":id_0,..,:id_n" and include it in the SQL
$plist = ':id_'.implode(',:id_', array_keys($ids));
$sql = "SELECT * FROM someTable WHERE someId IN ($plist)";
// prepare & execute the actual statement
$parms = array_combine(explode(",", $plist), $ids);
$stmt = $PDO->prepare($sql);
$rows = $stmt->execute($parms);
Se você tivesse permissão para passar uma matriz de valores para um único parâmetro durante a ligação, você efetivamente teria permissão para alterar a instrução SQL. Isso seria uma brecha para injeção de SQL - nada poderia garantir que todos os valores de matriz fossem inteiros inocentes, afinal.