It's a bit difficult to explain what the faction value actually does because it influences a lot of little things internally, and should simply be "Silverpine" if the NPC lives in Silverpine, "Capital" if the NPC is an offscreen visitor from the capital like Mirel, and "Other" if they live in the wilderness. It has no influence on anything that is clearly visible to the player.
The custom NPC's daily routine in dynamic mode is solely influenced by the private character description, knowledge, and possible routines you have set up. The AI will try to infer a daily routine from those things. For example, if you have a custom NPC that has just two possible routines, "visit_tavern_in_silverpine" and "stay_in_capital", and a knowledge entry that says "%NAME% visits Silverpine every Tuesday.", the AI will most likely set up a daily routine that results in the NPC visiting the tavern every Tuesday.
Custom NPCs being able to move in with the player like Mirel will come in a minor update. You can currently have 8 custom NPCs enabled at the same time.