I second staying in Abingdon, its a nice place to stay and an easy drive to the track. We've also stayed in the Fort Chiswell/Wytheville area in VA, cute area too. Its right around an hour drive to the track, mostly interstate driving. If you stay in VA, watch your speed!
Bristol is one of my favorite places to see a race!
Trust me, you do not want to stay in Boone unless absolutely necessary! We did the drive one year in March and it was horrendous! The roads are very hazardous - its a beautiful drive in the day, but at night its kinda scary! I'd suggest Wytheville or Bluefield, VA or maybe towards Pigeon Forge instead!
I live in Johnson City and staying in Boone is not a good idea. It's a long drive and very mountainous road. Snow could be a problem too. Asheville would be a better choice although snow can be a problem there too because you have to go over the mountain but the road is good I26. Good luck and have fun at the race ! Rethink the Boone choice.
If you don't have to stay to the east of Bristol try hotels in Knoxville,TN. Thats where we're staying for the race in August and the prices are suprisingly cheap for it being a Nascar weekend. Most hotels that I've researched there don't require a minimum nights stay. You can always stay there for the races and then drive closer to Charlotte for a few days so you can tour garages and stuff.
There is nothing wrong with staying in Boone for the race. Lots of folks do. It's only an hour away. If you need directions, let me know. I have done it many times. I have stayed in Bristol and Johnson City and the rooms are not worth what they price them. They try to take advantage of the average race fan. Last time I stayed in Johnson City, the rate went up to $300 a night and you have to stay 3 nights.