One of the best ways you can backup your arguments for implementing pair programming is to use data that is local to your business, so you need to ask, 'Why do companies pair program?'
In my experience their are two main reasons, the first is that bugs cost more to fix the later they are found. If I find a bug when I'm writing code I can fix it straight away. If I find it in acceptance testing, then I'll need to isolate where the problem has occurred and then spend serious time debugging to find the reason for why it has occurred. The advantage that you get from pair programming is that you have twice the chance of seeing these bugs, especially if you have a slight knowledge difference between the programmers - it prompts questions about the way things are being done and thus you find more bugs.
The second reason (and only really useful if you are developing somewhere where knowledge isn't recorded well) is that it acts as a risk mitigation tool - if you have 2 people who know how a critical code area works, if one of them gets sick then you still have the other to fall back on.
Whilst I would recommend that the best way to sell to most managers (especially non-technical managers) is to rely on localise data (because they have to trust the data they mined) some good peer-reviewed papers on this are:
http://jacques.dsc.ufcg.edu.br/cursos/map/recursos/XPSardinia.pdf (the abstract shows both cost increases and output increases, which is handy because many managers can't be bothered looking past the abstract)
http://www2.computer.org/portal/web/csdl/doi/10.1109/METRIC.2003.1232465 (which is hidden behind a subscription wall) which says it can be good and it can be bad
The biggest issue is the most of these studies are performed on students, and whilst the results may still hold in the corporate development world, many managers will baulk at this comparison.
Good Luck!