Tu problema es muy fácil pero te entendí muy poco.
Para la parte de "armar" tu mensaje, lo puedes hacer con un REPLACE, por ejemplo:
Código:
DECLARE @mensaje Varchar(1000)
SET @mensaje = 'La matricula &matricula para el alumno &alumno de la carrera &carrera es incorrecta'
SELECT @mensaje
SET @mensaje = REPLACE (@mensaje , '&matricula', '12345467890')
SET @mensaje = REPLACE (@mensaje , '&alumno', 'chaka106')
SET @mensaje = REPLACE (@mensaje , ' &carrera', 'compu')
SELECT @mensaje
La parte que no entendí me imagino que es el caso donde si hubo información para el alumno, la cual supongo sabes como buscarla, y ya sólo te queda "armar" el mensaje de la consulta, que es igual como se armo el de error, con REPLACE.
Otro tip es que seguramente vas a usar los CONVERT O CAST, que se utlizan para concatenar.
Código:
CONVERT(VARCHAR, @miVariable)
CAST( @miVariable As VARCHAR(100) )
Saludos.