The answer depends on the capabilities of the scripting systems. For some reason or another, we can not offer contracts to NPC's so we can only accept these contracts instead.
If you want an NPC to run in a very efficient way, they will likely have to be able to accept scripts that you enter, such as your OPC or (more unlikely) your family members.
By the sound of it, they will work off of their own needs and goals, if distribution of salary is what you want, the NPC's will form contracts for themselves and your NPC might be better at negotiating prices than you.
Productivity is again something that your NPC might be better at
Keep track of sales prices would be something the soulbound engine does and so again your NPC would know the current prices but would be less likely to gamble with sales for profit.
Executing a pre-programmed routine would require a script
Relay messages and requests is indeed a feature planned (but I don't remember where I go this information)
Manage small tasks like hiring is a bit up in the air, as your needs may not be the same as theirs and so they may say I don't want a cart driver or I don't need security.
Reporting this information is something you have to interact with the NPC to gain the information. They may be capable of scribing the information otherwise.