As some have pointed out, Citi had this[1] since about 2004, Fleet/Bank of America [2] had it in their setup as well for as long as i can remember.
The problem is going to be PCI compliance - the rules that govern merchant procedure for accepting physical credit cards. Specifically, the last 4 digits must be visually validated on the card and typed in to avoid cloned cards (chips largely solve this) in most stores.
Furthermore, giving a new CC number to each transaction is going to deplete the pool of available CC numbers rather soon (as im sure everyone knows, CC number is not just random collection of 16 numbers 0-9).
As other people pointed out, this solves a non-problem: if i don't want to be liable for a fraudulent purchase, i just use a credit card, not a debit card. In case of CC fraud, it is the MERCHANT who is responsible, not the customer or the bank.
Monitoring software that flags "odd" purchases is all that's needed - and banks have been running such things for ages.
Yes, there is hassle if your CC gets lifted/swiped, but chances are, its not an evil hacker doing it, but that cute waitress at your local bar with a $30 ghost reader in her hand.
Unless the physical card generates a new number on EACH swipe, it is just another example of technology looking to complicate an otherwise streamlined process.
/rant over :)
[1] https://www.cardbenefits.citi.com/Products/Virtual-Account-N...
[2] http://lifehacker.com/5831160/use-virtual-credit-card-number...
[3] http://www.getcreditcardnumbers.com/