I cannot see why not other than processing power being an issue? The implementation would not be trivial. But with the combination of Services and Decorators… I personally am newish to the Behavior tree but I imagine you’ll need a method for characters to access a global clock, a set of stats to determine their desires for doing the things they do, probably a schedule they follow everyday normally. I imagine most of that would exist on the character/pawn itself. You may even utilize the Environment Query System (EQS) to query the world itself for desirable tasks.
As an example lets say you have a blacksmith that wakes up in the morning, eats breakfast, goes to work for 4 game hours, eats lunch, returns to work for 4 more game hours, then returns home for dinner, spends time in his house until bed time, and restarts this for five days, then for two days he relaxes. There are a few methods to implement this but these particular subsystems I would probably build out using components, sub objects, and structs to assemble the characters basic schedule. Then you could add some “drivers” such as his dedication to work which would drive a chance for him to skip lunch, come home late, or is prone to not getting up in the morning. You could give him drives to do other things such as eat too much, drink whenever he can, chat up anyone who wanders by his shop.
The Behavior tree of this would come in by checking the time of day and deciding if where he “should” be during that time of day. Then using the drivers to decide if he in fact does them, procrastinates, or does them earlier. This is most likely a service implementation checking every x number of game minutes.
You can use the Environmental Query System to check for wandering by character in conjuncture with a different driver “Chatty” to see if the blacksmith attempts to talk to that character. You can use a service to determine what the two talk about and then you can then use Decorators that fire each tick during the “Chatting” phase to check and see if the conversation has ended and send the chatty blacksmith back to work.
I’d also use generic, and configurable Custom Task Nodes for “Go To Work”, “Work”, “Get Food”, “Eat”, “Start Conversation”, “Chat with NPC”, and “Talk at PC”. That’s my thoughts on it, all this can easily be built in blueprints and probably should mostly be built in blueprints, I usually work in C++ but I find the behavior tree and extending the behavior tree and all it’s sub components to benefit greatly from being at a higher level.