You can use more complex patterns to tell it where the string you want to exclude have to be. For example if I just say "i", this code will exclude all elements that have an "i" within them:
In[7]:= bigList = {"a", "item1", "item2", "item3", "item4", "item6",
"item7", "item8", "item9", "i5"};
excludedElements = {"item1", "item2", "item5", "item6", "i"};
Select[bigList, StringFreeQ[#, excludedElements] &]
Out[9]= {"a"}
I can instead specify that elements need to be excluded only if the "i" is surrounded by word boundaries (like symbols, spaces, etc., but not including digits):
In[22]:= bigList = {"a", "item1", "item2", "item3", "item4", "item6",
"item7", "item8", "item9", "i.5"};
excludedElements = {"item1", "item2", "item5", "item6",
WordBoundary ~~ "i" ~~ WordBoundary};
Select[bigList, StringFreeQ[#, excludedElements] &]
Out[24]= {"a", "item3", "item4", "item7", "item8", "item9"}
(notice the new pattern helps get rid of "i.5" but not of "item3").
Such string patterns are very useful for this kind of thing; check http://reference.wolfram.com/language/tutorial/WorkingWithStringPatterns.html for some examples and http://reference.wolfram.com/language/tutorial/RegularExpressions.html in case you want to use regular expressions as well. (Although it is usually enough with string patterns).