how about a booster seat? My ds was still strapped into a booster seat at this age; it just seemed to be a psychological thing more than anything - he didn't feel as free as he would without a booster so it probably gave us a couple more minutes at the table!
I really wouldn't worry to be honest, this is SO normal for a two year old, specially an active boy. Certainly don't follow him around and feed him otherwise you are undermining your own actions in getting him to the table at all.
With my ds I always pointed out that if he left the table, he must be finished. Food is taken away and not returned. Kids eat what they want and need so don't feel bad about doing this. One thing that I found kept ds at the table was saying that if he had one more bit of so-and-so then he could have his pudding. This usually worked. And pudding can be really good filling stuff can't it, if your ds likes it.
As with so many things with 2 year olds it's about consistency and NOT undermining yourself, even if it worries you about how much he is eating. My ds has very very rarely sat at table till his food is GONE - he has some, not all.
Your ds sounds absolutely fine btw, it's VERY normal for them to exist on air for a while then to stuff themselves - I would chill out about this. Just make sure the rules are clear and consistent, and he WILL get there in the end. But adjust your expectations; I don't know ANY 2 yr old who would always sit at the table till their food is gone.