Converting Generic Quantities to Numeric Values: (added in edit)
You NEED some way to get a quality metric (measure of "goodness") from the data, and to convert a lot of these things into numeric quantities. Possible metrics might be time to complete a task (versus initial estimate, to see if they lie about this), cost, cost vs. quoted cost (to check if they give you truthful quotes), and some sort of conglomerate for customer satisfaction related to the project they worked on.
Regions/areas of previous contracts can be coded as a GPS coordinates with X,Y for center of region for a given transaction (IE "California" or "United States" and the width-x,width-y for that area (error bounds). To see if geography matters, you find all previous business within a given distance of your new contract (simple form: just check distance for all their prior transactions, complex form with lots of data: some sort of clustering algorithm or 3-d surface extraction).
Then you do a weighted average of (quality metric for previous business deal), reduced by (distance between current desired deal location, and previous deal location). Complicated,
but it WILL give you regional business metrics.
Analyzing Data to Extract Meaning
I suggest you convert the data into standard, CSV tuples (company id, region code/coordinates, account size, performance metric), and then do statistical regressions & numerical analysis techniques. Your goal is a set of equations describing a company's performance in terms of each characteristic. Principal Components Analysis can simplify this process, by identifying the most important characteristics for a company's performance.
Software Choices:
Honestly, this sort of analysis is properly the domain of statistical or data mining software, not SQL analysis engines, since they are pure statistics and math. If your metrics & characteristics are numeric & clearly quantifiable, R, Matlab, Mathematica, etc are good choices. If your dataset is very large, you'll want to invest in the most robust package you can get.
Picking the best candidate company: simple case
The problem of assigning business to the best candidate is a classic optimization problem.
If relationships between variables and performance are linear, you've got a really handy case. Linear programming techniques were designed to optimally solve exactly that kind of problem (assuming you can extract the relationships).
Picking the best candidate company: complex case
If the performance-vs-characteristics equations are nonlinear, you need fuzzy logic to find the best solution. This will use very,very advanced algorithms to find a very good (not necessarily best) solution for business when there are a LOT of variables. From experience, Mathematica has a top-notch set of optimization tools (based on genetic algorithms) for nonlinear optimization, and Matlab also has fuzzy logic/genetic algorithms for solving that problem. For further tools, look into "global nonlinear optimization."