As regards trains, there definitely used to be a service years ago but it appears that passenger train services between Elvas and Badajoz have been discontinued. There are no timetables on the Portuguese Railways or Spanish Railways site and neither the Town Councils of Elvas and Badajoz have a mention of such a service. In fact they do not have any info on public transport between the 2 towns.
I am not aware of any cabs that run between the towns.
However, in most Portuguese towns like Evora and Elvas one will find a local cab. However, I suspect that they will try to charge an arm and a leg, even if you speak Portuguese...and even more so if you speak Spanish.
Have a look at the Badajoz Town Council Tourism site
http://www.turismobadajoz.es
You might want to email them for info.
Rede Expressos - A national Portuguese bus company are showing the following buses between Evora and Elvas at times that might be useful:
Evora: Partida: 13:45 h Arrive Elvas: 15:00 h
Evora: Partida: 17:00 h Arrive Elvas: 18:35 h
Preço: 9.50 €
As far as I can see most of the long distance trans frontier buses only operate at times that may be not useful to you i.e. early morning, lunchtime or late evening.
Eurolines have a bus leaving Evora at 11:15 arriving Badajoz at 13:45
You can find the Eurolines Spain Timetable in pdf format on my blog at:
http://barlaventostravelblog.blogspot.com/
>> Scroll down on the right until you come to the panel marked
"Algarve & Portugal - Travel Transport Links"
Scroll down to the item marked:
Eurolines Spain - Spain Portug"al Timetable - Winter 2008"