You would have to use one of the 7 backgrounders available (probably something like the local push notifs) and then use this framework:
http://developer.apple.com/library/...e/CoreTelephonyFrameworkReference/_index.html
I have a feeling depending on which one you use and how you use it, the callback notification is a little delayed. I was using the TomTom app today while receiving calls like crazy, and the popup from TomTom always took like 10 seconds after the call started to pop up.
The local notification then would act a lot like a normal push you get. You could either close the notif or click the button to relaunch the app.
This would have to be a backgrounded application to be able to relaunch after the call was done. Otherwise the user would have to manually relaunch.
Edit:
After looking over that framework a bit, I really wonder what is allowed and how it is allowed. Although it looks pretty basic, it looks like an app developer can detect when a call is made/in progress/hung up plus retrieve the callID, though that callID may not be the "real" one, rather a generic one. Could definitely make for a nefarious as well as useful app or two.