If you look at how the Email notification method is set up you'll see it's only calling the pdm_mail after setting the required environment variables. You could switch this to use a temp file instead of envvars but I'm not sure whether that would break the normal mail notifications. Additionally, the notification methods set on the contact makes this a bit tricky.
If you're up for a challenge you could try something like this: First, create your own notification method that launches a script of yours (batch file, perl, smoke signals, mind reading, choose your weapon) and set that as the notification method for users. Then, within your script, launch the SMS functionality the way you have it implemented (no idea how the USDSMS works, never seen it) and then launch the pdm_mail just like the original email method does. As far as I know the envvars set when the original notification method is fired will be carried to the subsequent calls you make. If not, you can re-set them and then fire the functionality you want.
Keep in mind that I didn't test this so this is just a concept idea which you'll need to try out to see if it works for you. And keep us updated, I'm interested to see if this will fly