I would honestly like to see npc's always initiate conversations with the selected character in single player games.
Only if he's in a reasonable range. If a Character splits from the group and sneaks through Fort Joy he should obviously be the person that gets engaged with a dialogue. Regardless what character you selected.
Same with Pet Pal but I'd love a tolerance range, how far you can be away from the character that triggered the talk. E.g. if the maximum detection range to start it is 1000, the Pet Pal character will also be automatically spoken to if he's in 1500. Or you can join the conversation later on and then change dynamically to the Pet Pal Character.
There should also be a priority;
Pet Pal > Selected Character > Player Character > Follower