One of the many problems with games that try to portray the vastness of a city (like the GTA series) is that the inhabitants almost always wander around aimlessly. Stay and observe the behaviour of one of the many digital citizens and the suspension of disbelief quickly falls apart; you're not in a big city and these are not real people around you. With a big city comes big landscapes for the machine to render, making AI for the citizens a luxury the coders can't afford.
One possible solution could be to equip the digital citizens with various data defining their basic needs, much like how the needs of a Sim in The Sims is presented on various meters, though in a simplified form. When the meter for hunger goes over a point, the citizen then heads towards a diner, etc. This would of course add extra burden on the processor and it would be very difficult to create and track unique values for every citizen, but the data could be randomized and spawned at the same time as the characters. As a result, the citizens would actually seem to have some sort of goal, at least short-term. If the player decides to stand back and just watch he would see something that at least resembles real human behaviour.