Contrary to your guess, the last example is fine without 対して whereas it is ungrammatical to omit 対する in the first two example. (I would say 彼が好き instead of 彼を好き in the last example, but that is not the main point of the question.)
The important rule here is that the case particles other than の cannot directly modify a noun. これが私の手紙に彼の返事だ is ungrammatical because 私の手紙に cannot modify 返事. Similarly, 自分の中の彼に気持ちをどう表現していいのか分からないの is ungrammaticalis ungrammatical does not mean what you want it to mean because 彼に cannot modify 気持ち. (The latter sentence means something like “I do not know how to tell my feelings to ‘him inside me’” because it is parsed as [自分の中の彼に][気持ちを][どう]表現していいのか分からないの where each of the three bracketed parts modifies 表現して. This is a totally different structure than that of the original sentence.)
対する has many meanings. When it signifies a target of an action, に対して is almost synonymous to just に. The only difference I can think of is that に対して can put more emphasis on the target than に.