I'll assume that you will arrive at Heathrow and will take the Tube to London. If you want to both take advantage of the 2-for-1 deals offered by National Rail and get the best fare for LHR to London and back, you could do this: Buy Oyster cards at Heathrow, load some pounds on them, and use them as pay-as-you-go cards. When you return to Heathrow you can get a refund on any unspent money, plus your deposit. The Oyster computer will automatically give you the best fare. You will never pay more than 50 pence less than the cost of a one-day travelcard for the zones in which you travel that day, no matter how many rides you take.
Buy one-day, zone 1-2 paper travelcards at any National Rail station for each day you want to use 2-for-1 vouchers. Don't use your Oyster cards on those days.
For information on the 2-for-1 offers and to print vouchers for the sights you wish to visit, go here.
BritRail passes will not be cost effective for you.
For a day trip to Bath you could take advantage of a GroupSave offer. Or if you can commit well in advance to specific departure dates and times, you can get discount fare tickets as low as £9.50 each way by booking now on the National Express East Coast site.
To get to Oxford and back buy GroupSave tickets or take the Oxford Tube (a bus, not a train).