It sounds like you can use a single CSV file within a single project indeed.
1. Yes, see this page from the tutorial for a detailed discussion.
2. All should be fine as long as you specify the right table for each Template command, and as long as your tables contain the same set of values in their Group columns (since PennController 1.4). That is, if trials are generated from rows where Group is A is table 1, trials will be generated from rows where Group is A in table 2.
3. Yes, I think it would be more reliable and this is what I usually do: I collect one batch of participants in one group, then update the URL and collect the next batch of participants in another group.
Let me know if you have more questions