Hi Bhavin,
To get the data from InfoPath into a SharePoint custom list is going to require code and to get the form into SQL once your workflow is completed will also require some custom work.
Does the user open the InfoPath form to complete the workflow or is it done in SharePoint only?
Through a combination of our tools you can accomplish what you need to do without writing your own code:
qRules can be used to crete the SharePoint list item. This would require the form to be opened and a button to be pressed at the right time to create the SharePoint list item
DBXL can be used to get the XML into SQL server either as a blob file saved in the DB or as a blob file saved in the DB and also mapped to a SQL DB if you need to do reporting on the expense report.
Hope that helps
Ted