How to get list of all tables in SQL Server without specifying a db?
There is very little metadata you can get across databases.  OBJECT_ID works, so you can see if an object with a specified name exists in a specified database, but that's about it.  EG:

select object_id('adventureworksdw2014.dbo.DimDate')


You can alternatively use a stored procedure with dynamic SQL, something like:

create or alter procedure table_exists @database sysname, @tablename sysname, @exists bit out
as
begin
   declare @sql nvarchar(max) = concat('select @exists=1 from ',@database,'.sys.tables where name = ''',@tablename,'''')
   exec sp_executesql @sql, N'@exists bit out', @exists  = @exists out
end
go

declare @exists bit
exec table_exists 'AdventureWorksDW2014','DimDate', @exists out 

select @exists