On your first question, it is not possible to use any foreign key on two different bases, no Mysql engine (database I know, myISAM and etc... I can’t tell you if another database based sql allows) allows you to make such a relationship even if they are of the same language and engine (Mysql using myISAM for example), and nor is it directed to do that either, if you need something to be consulted externally is oriented the use of webservices and if any data / table needs query in some different database is because some error in the modeling of the same has been made, because it hurts the good practices of data modeling (to learn more search the database NF’s on google).
About the second question a stored Procedure is a hand in the wheel for if you have a query for example with many joins, relationships of tables and derivatives, it streamlines the search process and allows you to avoid too much code rewriting and depending on which language you are using for back end development along with your server side you can use the memcache that helps even more.
About the views, it’s just creating constraints for your database to view the data that will be presented to it (that user that defines in the connection string with the database).
I hope I’ve helped you and given a partially satisfactory answer.
As far as I know this is not possible, I have implemented this but doing validation triggers to do FK control.
– Motta