Well, first of all, this would be the correct syntax:
SET @StrContractType = ' (''ctf'',''ctr'')'
(Those are two single quotes next to each other, not double quotes)
Secondly, you're going to need to use dynamic SQL if you want to use this variable correctly:
DECLARE @sql varchar(500)
SET @sql = 'select * from table where tableyear = year
and contracttypecode in ' + @StrContractType