No, it's not possible. In fact helper.js could be required from many different scripts, but will only ever be executed once. Any time another script requires it, it will just return whatever was assigned to module.exports from the first time helper.js was included directly, without executing helper.js again.
You can, however, determine the original script that was run, using require.main. That won't tell you whether index.js required other.js which required helper.js or, index.js required helper.js directly. But it does tell you that index.js was the original script that was executed directly.
If you want helper.js to have different behaviour depending on how it is called, you could also export a function from helper.js and expect the script that requires that function to call it and pass it an argument:
// helper.js
module.exports = function ( arg ) {
// Use arg to determine which action to take.
};
// index.js
require( 'helper.js' )( 1 );
// other.js
require( 'helper.js' )( 'other' );