which sounds more natural? 我今天已经把猫食放了 or 我已经今天把猫食放了
The first one is definitely natural, and moreover, the second is not only unnatural, it is not grammatically correct.

You would put 已经 in front of a time period when an action is happening, for example


  我已经三年没回家了


However, in your sentence, 今天 is the time point when you did something, therefore you would like to put 已经 after it.

For your subsidiary question, it is still the first one that is correct, which is


  我今天已经把猫食给放了