Is there a performance consideration if stored procedures are in a separate database than the source data?
I've seen this type of thing done before.  Particularly where the data &amp; possibly some code is coming from an outside location and may be overwritten with restores (for example).  It also allows the code to be backed up separately from the data (yes I know you could do that with filegroups also).  

In general as long as your code is on the same instance as the data then there are no performance issues.  

However you will likely run into some permissions issues.  There is something called ownership chaining that allows someone to successfully execute a stored procedure that updates a table even though they don't have permissions to the table directly.  This does not work cross-database.

Unless of course you turn on something called cross database ownership chaining.  This is not turned on initially and there are of course security implications of turning it on.  It basically allows for exactly what it says.  Ownership chaining will work across databases.  It can be turned on at a server or database level, although it is highly recommended that you not turn it on at a server level unless required for some reason.  You can however turn it on for your two databases and you should be fine.

I recommend reading the links above.  They appear to be quite good and will give you a better understanding of what I'm talking about.