Hey!
The first thing that comes to my mind is that it's feasible, yes, and that I would start with the pathfinding first. I think I would "limit" myself to a tile based pathfinding system and then implement some kind of action priority list. This list would be sorted by some priority value calculated through different parameters and user input (user actions have very high priority) and would contain struct instances of a self defined "action" struct. Some function would now monitor the list and pick the top priority action every now and then (and remove finished tasks). Last but not least the player entity itself executes a state machine system.