How to use civicrm to achieve campaign requirements
CiviCRM is very well capable of doing what you want to achieve. You can store contacts in CiviCRM, adds a custom fields for information specific to your situation. Also you can store an activity of who added the person to the database. 

CiviCRM is also capable of importing data from Excel (CSV files) and exporting it to excel. 

Have you thought of how your volunteers are collecting this data? Are they using an tablet? Do you get CSV files and import them later on?