You can use a .NET script via the Script Task to prompt the user for input by using an inputbox and storing that value into a .NET variable or an SSIS variable.
You can use a Foreach Loop Container to loop through the files in a folder and process them.
Within the loop you will need a .NET object which changes the connection string of the source and destination based on the data within the file names.
Changing the table that you are writing into will be the hard part.
If I was the one putting this together I would probably use a batch file to do everything. Use the FOR command to get the list of files to process. Pass the file name to another batch file which uses the FOR command again to break apart the file name and get the database name and table name. Then use this information to call BCP and load the data via BCP.