Hi-
Those are a lot of questions. Perhaps the best way to get started with InfoPath is to try it out and begin building some forms to get an idea of what you can accomplish. We do have a free training lab available here: http://www.infopathdev.com/blogs/jennifer/archive/2010/06/25/free-training-learn-infopath-2010-and-sharepoint-2010-by-building-an-event-form.aspx
Now on to your questions:
1. Yes, you can make a view read only. You can label individual controls as read only as well. You can disable fields depending on a condition. Many possibilities to do this.
2. You'll be using rules. Those rules could look to a secondary XML, or a secondary SharePoint data connection, etc. Again, many possibilities.
3. I'm not sure I understood this question.
4. If you're submitting to SharePoint, for example, SharePoint automatically assigns an incremental ID, so it's just a matter of querying that value to display it in the form. If you're submitting to SQL, the table might also have primary key. So, quick answer, it depends on your scenario, but it is possible.
Again, a lot is possible with InfoPath but there is a learning curve. Look for tutorials and articles via a web search, and check out previous forum threads for advice as well. Let us know how it goes. Good luck!