I assume that an external user fills in a form online and the data is sent to a back-end Database.
You can query that database with InfoPath.
If you're working with SQL Server or XML.
Create a data connection: Tools > Data Connections and add a data connection to the database that was filled by your external customer > Receive Data .
Then you will have the access you need to your data.
This can be done in C# with VSTA (Visual Studio Tools for Applications) as needed. This is a little more in depth however.
Try this and see if it helps. If I have been too vague, let me know and I will try to clarify more.