What is the difference between 'sympathy for' and 'sympathy at' in the following sentences: 1."I felt a great deal of sympathy for his difficult position." 2."She expressed her sympathy at our loss." Can we write 'for' in place of 'to' and vice versa? Are 'for' and 'to' the only collocations possible with the word 'sympathy'?
"Sympathy at" is not an idiom I am aware of. That collocation is much less common than "sympathy for" ('at' has ~400k Google hits vs. 15 million for 'for')-- I would say it is most likely a coincidence. Specifically, in
to me the most natural parse of this sentence would treat it as being of the pattern:
such as "He expressed frustration at her inability to keep up," or "She expressed concern at his disheveled appearance". So that the base usage is "to express sympathy" and then "at" is just introducing the situation causing her expression of (generic) sympathy, rather than further describing the type of sympathy being expressed (as in "sympathy for _").
To answer your second question, about other valid collocations. "Sympathy with" is pretty common (5.7 mil Google hits), with a slightly different meaning. As in the example here (def. 2.3) it's usually used as "in sympathy with _". C.f. solidarity.
There are other coincidental collocations--"You'll get no more sympathy from me" for instance--but these aren't really idiomatic or common.