If I understood your question correctly, you want the check value, which resides on the node, to be dynamic. So, what determines the value? Write a logic for this on any blueprint actor, access this blueprint and use this value for comparison.
To access blueprints, you need to do it through “Considering Player”, which is a player controller.
So if you want to write this logic on your BP_PlayerController, a simple cast will suffice to access it. But if you write it on, say, BP_SomeActor, write a getter function on BP_PlayerController and use it to access your required actor. That is the only caveat.
These inline-variables can retrieve anything. To retrieve the NPC’s name, you just need to make sure you save the NPC into a variable at the start of the conversation, which you already do, if you feed your NPC into the appropriate pin when you spawn the Dialogue Widget. Since the function gets executed also on the Dialogue Widget, it’s just a matter of taking the NPC variable, casting it to something, like “BP_Human” or whatever general class you have, from which all your NPCs inherit and which has a “NpcName” variable, and return that.