If this is something you do often, I think it would be best to create an action for this.
But basically, what you'll want to do is select the area from a layer that you wish to copy over, like you normally do. (Note: if you don't want a piece of the layer, but rather the entire layer just follow Scott's
method)
Now right-click and say Layer via Copy
, now follow Scott's
method
Right-click/Control-click the layer (or group) you wish to duplicate.
Chose Duplicate Layer/Group...
Select New from the Document drop down and hit OK.
Choose Image -> Trim, tick the Transparent Areas option and hit OK
Something to keep in mind is that the layer effects may change the visual appearance of whatever you just copied because the shape is no longer the same. This is most apparent with say, a gradient overlay.
For convenience's sake, I've created the action for you. Just import the action and then after you make a selection you should be able to hit F12 and the action should run and do the rest for you.