My question is informed by the need to study regional integration and how different communities are likely to be included or excluded from the socio-economic benefits or marginalisation.
I am not sure whether Stata is a good choice. Personally I work a lot with Stata, but I would not use it for such a simulation. If you want to perform some Monte Carlo simulation, then Stata is fine, but for a rather agent-based simulation it will be very inconvenient.
For an agent-based simulation I would rather go for some object-oriented programing language. A very convenient and user-friendly software is NetLogo (http://ccl.northwestern.edu/netlogo/). Personally, I work more with RePast (http://repast.sourceforge.net/), which is extremely flexible, but requires some knowledge of Java.
If you want to stick to statistical software, I think R might be a good alternative to Stata when it comes to simulations.
I have used Stata extensively in the past, and it would be possible to use it for said simulation. To do that, you'd have to use MATA, the integrated matrix manipulation and computation language which is very similar to Matlab.
While it is possible, I wouldn't recommend it. At least prior to version 12.0, transfering data from Stata to MATA and back was a pain. Also, you do not have the features of a full blown programming language which you might want sooner or later.
Depending on your knowledge of programming and computer science in general, a language like NetLogo or Repast would seem appropriate for applied work. Personally I work with the scientific Python stack. This provides you with a lot of modelling freedom, but it is in essence equivalent to building a car with a screwdriver and a heap of parts – when compared with NetLogo or Repast. So it's not really the most straightforward choice.
Other possible choices are Octave and R as statistical languages.