Respostas:
Como dito em "40.5.3. Executando uma consulta com um resultado de linha única" (grifo meu):
O resultado de um comando SQL produzindo uma única linha (possivelmente de várias colunas) pode ser atribuído a uma variável de registro, variável de tipo de linha ou lista de variáveis escalares . Isso é feito escrevendo o comando SQL base e adicionando uma cláusula INTO.
Portanto, isso deve funcionar:
SELECT col1, col2 INTO a, b FROM tbl WHERE...;