Not sitting in front of the documentation but download the JTAPI javadoc and look at all the options ciscocall has with regards to called addresses.. make a call and look at the output of all the operations.. if one holds the info - there you go, if not, you're out of luck as there aren't any other options.
You can collect digits for internal calls (monitor the phone and set the event filter to include buttons being pressed) but for external calls this is obviously useless.
I know from redirects that original* differents from current* (or getCallingAddress differs from getCurrentCallingAddress) but I've never had to look for the oroginal dialled digits prior to any number rewrite. Also consider that depending on the gateway, number manipulations are already done on the gateway and you have no chance of getting the digits there (well.. maybe a TCL script but we're far outside JTAPI now).
I did already look at all the information that arrives with each event but nothing was of any use. We may have found a way to solve this now though.
What we do is put a CTI Port with a directory number that equals the DDI or is translated to it then this forwards to the CTI route point I am controlling. This works well as I don't have to observe the CTI port and I can now get the CTI port's DN from the "last redirecting" info. So you just need one cti port per DDI. These devices can at least be managed using bulk admin.