Yes, they can smell food in the same room. They can also since heat for nearly a mile away. There are a few good things about putting them in a separate place to eat. #1- When they are put in a separate feeding location, this is the only time that they will associate handling with feeding. In other words, they wont think that every time you reach your hand in the cage, they are going to get fed. They will separate the two, and they will know that when they go into the "feeding" location, that food is soon to come. If you feed them in the tank where they live, there is a chance that they can confuse feeding time, with normal handling time.
And #2- if they eat in their normal home, there is a chance that they can ingest some of the substrate. I have heard stories of Pythons ingesting substrate, and becoming impacted.
I know there are a lot of people who don't use a separate place to feed, and that's fine. I have done a lot of research on the issue, and feeding in a separate container is what I have decided to do. Just my opinion though...