Well the game is all about building so.
1) You need a comprehensive UI to get to all the tools.
2) Advanced AI and pathfinding. Simulated people need to find there way to all the places they need/want to go. These places they visit have to be logical too.
3) Building cues, things cost time to deliver, construct and repair so you need to be able to cue things up.
4) Graphs and charts, since it is a business simulator you need to show all those numbers to the players.
5) A very good and balanced difficulty curve, what i usually see is that these games begin hard but once money starts rolling in and invested again the bank balance graph starts to look like the path of a launched rocket. One "building" game that is very balanced is simcity4 in simcity4 there is always more to give your sims then you have money for. With simcity you start with a lot of money so you do not have to wait for more income early game and you have sliders to adjust funding in different branches.
It has very different elements then a FPS. But the basics are the same for a 3D sim game. For the tools i would sugest C++ SFML or perhaps it can be done much faster in Unity. It does not matter really, java or C# would be fine too. Every game is hard to make finish, even a "good" pong clone.