Hi:
You can simply create a repeating table on your form, with the number of columns you want to display. Users can click the 'insert' widget to add rows.
It sounds like you've just started using InfoPath? You might want to check out these MSDN labs for some basics -- while written for 2003 much of the information holds true for 2007.
You can add receive data connections to your form to return info from SharePoint or SQL. There are some limitations (which is why Qdabra created our DBXL webservice!), but in general, it is very simple to create a data connection to return all info from a table or a list, then filter the data once it is in the form. You can use your secondary data for things like drop down lists, so users have predefined values to select from.
Hope this helps!