Hi Steve,
What are you drinking in your avatar picture?
To answer your question, you would ideally create a Web service that could run a query to get the XML from SQL. There are a lot of tricks to do this corectly, for example you need to make sure that you don't strip out the processing-instructions at the top of the XML that tell Windows or the browser that it's an InfoPath. Otherwise, it just opens plain XML.
Fortunately, we've done all the work to make this easy and we have an inexpensive Web service called DBXL that has a Web method called GetDocument which supports this. It also supports submitting the forms and a boatload of other features.
Also, keep in mind that just getting the XML may not be all you have to do. You may have to swap the XML out from the newly opened form and replace it with this XML. The qRules plugin for InfoPath has a SwapDom command that was especially created for this task. There's a free trial for both and the products are inexpensive and easy to setup, plus Qdabra provides incredible support.
On the other hand, you could write code to do it yourself, but you'd have to figure that out and do it and it would take oodles of time and you may get stuck. We've done all of the work for this scenario and are here to help. The InfoPathDev forum is free. We pay our employees to respond to posts in the forum and we watch the metrics weekly to make sure we are above 90%. In order to support that effort, we sell these essential tools. They save you time and money and help us keep the forum going.
Thanks for your support,