Glance on my Pebble Smartwatch does this. I think a smartwatch is a much better place for a true "panic button". I mean, in a truly difficult situation you're going to have problems entering a passcode or pattern if you have your device locked... which you should, by the way.
In Glance there's a function that allows me to set a button long press to send an emergency text to the contact of my choice including my longitude and latitude (obviously only as precise as the smartphone itself can manage). Quite a nice feature in my opinion. And it's a lot easier to do a long press on a button on your wrist than fish your phone out of your pocket or purse, enter a passcode, find and launch an app and hit a button on the screen.
A physical panic button is the best solution. If you're in dire need (heart attack, accident etc) then you may not be in a position to use the app on the phone. The old "really dumb phones" like the Firefly had it right.