Lo que puede hacer es usar una declaración preparada dentro de su procedimiento almacenado que le permitirá ejecutar una consulta de cadena:
Como un ejemplo simple:
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 ;
Pruébelo con esta demostración de SQLFiddle