Hola Hector.
Con el sp_executesql lo puedes obtener especificando en el nombre del parametro que deseas obtener el resultado la palabra clave OUTPUT, esto debe ser en ambas partes del llamado del sp_executesql, es decir en la lista de parametros y la lista correspondiente a reemplazar en la anterior.
Ah y sabes yo haria esto:
Código SQL
[-]
DECLARE @miVar VARCHAR(30)
SELECT @miVar = Nombre FROM Clientes WHERE Codigo = 5
en vez de la forma que utilizas.