To answer part 1 of the question for Excel 2007+, I would also consider the Format as Table command.
The automatic named ranges would go most of the way to answering part 2 of the question. http://chandoo.org/wp/2009/09/10/data-tables/
Is there a reason why OFFSET() is recommended over tables?