Cullen12: I appreciate all of the comprehensive responses from the members of this community, however I fear this lengthy discussion has been in vain. I have finally found the time to apply my decision, and it seems that because I once spoke to Jan, but did not ask to see his wares, the game will not let me talk to him again. That seems retartedly counter intuitive to me. I have tried talking to him in the day as well as the night, with nothing doing...
It's actually a bug, not how it was designed. I recently encountered it myself and from little I managed to gather it seems that there's a variable set in the current iteration of Jan (there are several versions of each NPC on different levels and the one closer to yours joins your party, the first time you meet them only). So if you decline his offer to see the wares, go adventuring and return at a higher level the new Jan doesn't have that variable set, so the dialog doesn't fire properly.
Messy explanation, eh?
The simplest solution to that would be to Ctrl+Y the Jan in front of you to kill him and create a new one with
CLUAConsole:CreateCreature("Jan#")
where # is one of 8, 10, 11, 12. The higher the number, the higher Jan's level.
Otherwise you could fire up NearInfinity, open your latest savegame, find the stored version of Jan in there and set the "# times talked to" variable to 0.