So this is on the same machine, not a separate machine that just happens to be running FreePBX. You mat need FreePBX internals knowledge to give a good answer, in which case you need the FreePBX forum. On the other hand, I can’t think of any reason why D wouldn’t work.
Note that B is on the wrong channel, as well as too early.
I suspect it might be easier to have a secret dial prefix that bypasses the PIN check. It’s no worse in terms of embedding a clear text secret in the dialplan.