The question is why do you want to execute out of data memory?  Did you run out of program memory space?  If so, you might take a look at a recent article in Embedded Systems.  It was either this month or last, I don't have my article folder at hand, but it describes how you can extend both the program and data memory without using additional pins for bank switching.  It was a really slick article.  The author I think worked for an emulator manufacture.  Sorry about the details, e-mail me if you cannot locate it.

Here are the details:

Martin B. Pawloski (pme51@metaice.com). August 2005. "Expand Your 8051 Memory". Embedded Systems Programming. p 20-29.

Abstract: Here's a way to extend the life of the ever-popular 8051 microcontroller.  The author's clever circuits and software extend the chip's addressing range without awkward tricks or cumbersome add-ons.