A ver si esto te ayuda, no se que quieres hacer exactamente, pero haciendolo todo cadena podrias ejecutar concatenaciones
Código:
Declare @Cadena nvarchar(MAX)
, @Tabla nvarchar(100)
, @Contrato
Select @Contraro = [Contrato]
, @Tabla = [Tabla]
Select @Cadena = "Select * from " & @Tabla & "-" & @Contrato & " where [Condicion]"
exec (@Cadena)