There is no reason why your approach is not working. Check again at your code :
SQL Fiddle
MS SQL Server 2008 Schema Setup:
CREATE TABLE INTERFACE
    ([ID] int, 
     [COL1] varchar(2), 
     [COL2] varchar(2), 
     [COL3] varchar(2), 
     [COL4] varchar(2), 
     [CASENO] int,
     [INTLINENO] int,
     [INTMEMBNO] int,
     [INTSTATUS] int,
     [RECTYPE] varchar(2),
     [EFFDTE] date,
     [INTERR] int,
     [INTERR2] int,
     [INTWARN] int,
     [AUTHORISED] varchar(12),
     [EXCLUDE] varchar(10),
     [UPDATED] varchar(6),
     [INTMEMBNO2] int,
     [INTSTATUS2] int,
     [ALTKEY] varchar(12),
     [COL5] varchar(2))
;
Query 1:
DECLARE @excludeFieldTable TABLE
(
  excludeFieldName varchar(100)
)
INSERT INTO @excludeFieldTable VALUES 
('CASENO'),('INTLINENO'),('INTMEMBNO'),('INTSTATUS'),
('RECTYPE'),('EFFDTE'),('INTERR'),('INTERR2'),
('INTWARN'),('AUTHORISED'),('EXCLUDE'),('UPDATED'),
('INTMEMBNO2'),('INTSTATUS2'),('ALTKEY')
DECLARE @intColumnList TABLE
(
  columnList varchar(100)
)
INSERT INTO @intColumnList 
SELECT DISTINCT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='INTERFACE' AND 
COLUMN_NAME NOT IN (SELECT DISTINCT(excludeFieldName) FROM @excludeFieldTable)
SELECT *
FROM @intColumnList
Results:
| COLUMNLIST |
|------------|
|       COL1 |
|       COL2 |
|       COL3 |
|       COL4 |
|       COL5 |
|         ID |
EDITED :
With a string, it can look like this :
Query 2:
DECLARE @excludeFieldTable VARCHAR(1000)
SET @excludeFieldTable = 'CASENO, INTLINENO, INTMEMBNO, INTSTATUS, RECTYPE, EFFDTE, INTERR, INTERR2, INTWARN, AUTHORISED, EXCLUDE, UPDATED, INTMEMBNO2, INTSTATUS2, ALTKEY'
DECLARE @intColumnList TABLE
(
  columnList varchar(100)
)
INSERT INTO @intColumnList 
SELECT DISTINCT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='INTERFACE' AND 
', '+@excludeFieldTable+', ' NOT LIKE '%, '+COLUMN_NAME+', %'
SELECT *
FROM @intColumnList
Results:
| COLUMNLIST |
|------------|
|       COL1 |
|       COL2 |
|       COL3 |
|       COL4 |
|       COL5 |
|         ID |
RE-EDITED :
SP working fine also :
Query 3:
CREATE PROCEDURE ExcludeField1 AS
DECLARE @excludeFieldTable VARCHAR(1000)
SET @excludeFieldTable = 'CASENO, INTLINENO, INTMEMBNO, INTSTATUS, RECTYPE, EFFDTE, INTERR, INTERR2, INTWARN, AUTHORISED, EXCLUDE, UPDATED, INTMEMBNO2, INTSTATUS2, ALTKEY'
DECLARE @intColumnList TABLE
(
  columnList varchar(100)
)
INSERT INTO @intColumnList 
SELECT DISTINCT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='INTERFACE' AND 
', '+@excludeFieldTable+', ' NOT LIKE '%, '+COLUMN_NAME+', %'
SELECT * FROM @intColumnList
Results:
Query 4:
CREATE PROCEDURE ExcludeField2 AS
DECLARE @excludeFieldTable TABLE
(
  excludeFieldName varchar(100)
)
INSERT INTO @excludeFieldTable VALUES 
('CASENO'),('INTLINENO'),('INTMEMBNO'),('INTSTATUS'),
('RECTYPE'),('EFFDTE'),('INTERR'),('INTERR2'),
('INTWARN'),('AUTHORISED'),('EXCLUDE'),('UPDATED'),
('INTMEMBNO2'),('INTSTATUS2'),('ALTKEY')
DECLARE @intColumnList TABLE
(
  columnList varchar(100)
)
INSERT INTO @intColumnList 
SELECT DISTINCT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='INTERFACE' AND 
COLUMN_NAME NOT IN (SELECT DISTINCT(excludeFieldName) FROM @excludeFieldTable)
SELECT * FROM @intColumnList
Results:
Query 5:
EXEC ExcludeField1
Results:
| COLUMNLIST |
|------------|
|       COL1 |
|       COL2 |
|       COL3 |
|       COL4 |
|       COL5 |
|         ID |
Query 6:
EXEC ExcludeField2
Results:
| COLUMNLIST |
|------------|
|       COL1 |
|       COL2 |
|       COL3 |
|       COL4 |
|       COL5 |
|         ID |
If you want to define the exclude string before, it will look like this :
Query 7:
CREATE PROCEDURE ExcludeField1 @excludeFieldString varchar(1000) AS
DECLARE @intColumnList TABLE
(
  columnList varchar(100)
)
INSERT INTO @intColumnList 
SELECT DISTINCT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='INTERFACE' AND 
', '+@excludeFieldString+', ' NOT LIKE '%, '+COLUMN_NAME+', %'
SELECT * FROM @intColumnList
Results:
Query 8:
DECLARE @excludeFieldTable VARCHAR(1000)
SET @excludeFieldTable = 'CASENO, INTLINENO, INTMEMBNO, INTSTATUS, RECTYPE, EFFDTE, INTERR, INTERR2, INTWARN, AUTHORISED, EXCLUDE, UPDATED, INTMEMBNO2, INTSTATUS2, ALTKEY'
EXEC ExcludeField1 @excludeFieldString = @excludeFieldTable
Results:
| COLUMNLIST |
|------------|
|       COL1 |
|       COL2 |
|       COL3 |
|       COL4 |
|       COL5 |
|         ID |