Dallas is a 3 hour drive, so I wouldn't do a day trip, I would plan to stay at least overnight. Driving to Dallas and back in one day is exhausting.
As far as OKC goes, we go there for the weekend sometimes but we usually just stay somewhere inexpensive.
You will have to have a car there no matter what, the city is ridiculously spread out. It really depends on how much driving you want to do as to where you stay. What's your budget?
There is a Residence Inn in Bricktown that is nice, they have 2 bedroom suites, it's not cheap though. You might be better off just getting 2 connecting rooms somewhere. It's right near Bass Pro. If you are open to being farther out, look in Edmond near Quail Springs area. There are a bunch of restaurants up there and it's a good area. I don't like the Crossroads Mall area personally, I think it's gotten run down so I wouldn't stay there. There is also Norman, but it's a bit of a drive to downtown and the traffic in that area is terrible.
As far as restaurants, Cattlemen's is an institution. I don't really know of many other local restaurants that are musts. Hopefully someone else can chime in there.
I haven't been to Frontier City in years so I am not sure if it's worth it or not. Definitely do the OKC Memorial, and I would also go to Norman and see the Sam Noble Natural History Museum.