Again the bluetooth transfer link request, but slightly different.
Imagine you wanted to send a pokemon from one device to another, you have already developed save game transfer. what if you could open 2 game datas at a time on one device and send pokemon on a single device? there is a pc emulator that does that on the same system so in a sense it's the same thing, although i know it will be slow.
As for battles, you know on a computer, you can switch between windows? Just like that, you can trade, like mentioned above or switch and 2 players can battle on the same handset after one phone's data has been transferred to phone number 2.