For the verb こもる, the thing that is doing the 'filling' is usually followed by a が, like in the example you gave. That is just how this verb operates. You can see more examples here if you like.
If you want to talk about someone actively doing the "filling", you can use the verb こめる (込める), where the thing to be "filled" is followed by を:
僕は気持ちを込めて歌を作曲したいです。
Natural translation: I want to make songs with feeling.
Literal translation: I want to make songs and put feeling into them.
About your question regarding "Tanaka is filled with happiness", I think your Japanese translation isn't natural because of how こもる is used, and think the following would be a bit more natural:
田中さんは幸せでいっぱいです。
EDIT: Here is a translation of the Japanese text given in the original post. While the grammar is somewhat straightforward (given my above explanation), it's a little tricky to translate.
I ended up with a somewhat non-literal translation, but I think this is a good way to express the meaning of the original Japanese.
感謝の気持ちは品物の量じゃない。 気持ちなんだから、気持ちがこもっていればいい。
Expressing gratitude isn't about the amount of things you give. Since it's about feelings, the important thing is that the giver has put feeling into buying the gift.
I could have also used something like "It's the thought that counts".