Vad du kan göra är att använda en förberedd sats i din lagrade procedur som gör att du kan köra en strängfråga:
Som ett enkelt exempel:
DELIMITER //
CREATE PROCEDURE selname (IN col VARCHAR(20))
BEGIN
SET @sql = CONCAT('SELECT ', col, ' FROM tbl');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END//
DELIMITER ;
Testa det med denna SQLFiddle Demo