1) bfa_widget_area() ??? From where did you get this function??
2) Yes, simply download the theme again, extract it and you will get the original function.php file
It depends on the purpose why you want to use another database.. but yes, you can create another configuration file, or make a connection in wp-config.php itself.. No issue at all.
You just need to the following:
1) Move all your files (make sure ALL files) and database to the new host
2) Take the database name, username and password from your new host
3) Open the wp-config.php file and enter the details there ( you can use any editor like notepad to edit php files)
4) Change the domain name using the steps here: