Keep stored procedures / UDF in separate database
I have never seen that approach used.  If you are keeping your database schema in a source control system, then you can generate deployment scripts.  Such tools can compare previous versions of your schema and deploy the changes.  SQL Server Data Tools is available in Visual Studio.