Here's one way:
FROM sys.procedures p
sys.sql_expression_dependencies sed ON p.object_id = sed.referencing_id
WHERE sed.referenced_database_name IS NOT NULL
This will show you all the procedures in the current database that reference objects in other databases, with some caveats.
First, this just shows you direct references; it won't show you that procedure A calls procedure B, which then depends on an object in another database.
If desired, though, the query could be modified to show such chains of dependencies.
Second (somewhat similar, actually), if you use any dynamic SQL or even simply EXECUTE some constant string that is a T-SQL command (which isn't even dynamic), references from those commands will not show up here.
You could try to parse all the text in the stored procedures to get those, but even that won't be guaranteed to capture everything (imagine a case of dynamic SQL where the object reference is built over multiple lines using concatenation into a variable, for example).
Unless you make extensive use of dynamic SQL, though, this should be a good start.
Edit: Heh, my slowness to craft responses strikes again. Phil beat me to the general idea. One of these days I'll remember to always refresh the topic before I post 🙂