The only reliable way I can think of is to use use the full path and name as the layer name, then this can be used to place a new smart object.
I am not sure what you are asking so this may be off, but if you want to do the same thing as the menu item "New Smart Object via Copy" you can use:
app.runMenuItem(stringIDToTypeID( "placedLayerMakeCopy" ));
That will create an independent copy of the Smart Object layer. i.e. edits to the layer only effect that layer.
Install Scriptlisener Plugin and do menu layer>Smart Objects>New Smart Object via Copy
var idplacedLayerMakeCopy = stringIDToTypeID( "placedLayerMakeCopy" );
executeAction( idplacedLayerMakeCopy, undefined, DialogModes.NO );
Look quit a bit like Michael's above append one may execute faster the the other.
I don't think there would be any speed difference between using the Photoshop Object method and Action Manager in this case.
The Action Manager version does have the advantage of working in older versions of Photoshop( I think CS3 or lower ) that don't have the app.runMenuItem() method.