Скорее всего, слово "шпик" в смысле "шпион" происходит от немецкого "шпек", то есть сало для шпигования. Некто, который "проскальзывает" куда-то. В русский язык это слово, действительно, пришло с Западной Руси, а туда - из Польши. Думаю, с самого начала имело несколько негативный смысл, что-то вроде "лазутчик" ("проскользщик") :-)))
шпик "шпион", начиная с Петра I, 1705 г. (см. Смирнов 333; Христиани 16), укр. шпиг, блр. шпег. Непосредственно из польск. szpieg "шпион", которое, возм., восходит через чеш. s^реhоun -- то же к ит. spione (см. шпио/н). Менее вероятно происхождение из нов.-в.-н. (арготич.) Sресht "полицейский" (ср. Л. Гюнтер, D. Gaunerspr. 98), где -t- вторично (ср.-в.-н. sре'сh "дятел"). Это название происходит от яркой расцветки мундира. Брюкнер (553) считает источником только нем. Sрa"hеr "лазутчик, соглядатай" от sрa"hеn "выслеживать", не говоря конкретно о фонетической форме.