Appo is the rightful favorite, at least a TD against every 2A team IMO if you were putting up odds, but Graham has the best RB in 2A and its hard to bet against that in most games. Dan River gave Appo a tough fight on the road, and Union sits at 9-1 with only a one point loss at Richlands in OT. Graham is in same boat, but they have better wins (notably Abingdon) and also had a lead on Richlands.
I don't know much about Martinsville, but I seriously doubt many people up that way know much about Graham. Martinsville has played a tough schedule, but they don't have that big breakthru victory. Touting their schedule is nice and all, but when acting as if Graham has played a lesser schedule simply because of the 3 or 4 ahead of the A on some of Martinsvilles teams is really short sighted. Graham has a victory over the #3 seed in 3A (their only L), beat Giles and the top seed in 1A, Galax, who can play with any team in 1-3A.
Graham didn't feast on Twin Springs or Rye Cove, they beat some of the cream of the crop. Their schedule is extremely legit, how else would they be the #2 seed ahead of Richlands, at 9-1 who beat them (and #5 Union) and 9-1 Dan River, who's only loss is at Appomattox?