Should a table have a foreign key to another table if it already has a foreign key to another table that has that foreign key?
It is not a good practice for many reasons. The most important one, design principles, you should never mix entities just because it is easier for the programmer/dba to do queries. Entities should be as clear as they can and must exclude any other information not related to them.

For your scenario, to make it easier for future querying, you can create a view that does the join and instead query this view.

Regarding any benefit that could be possible while cutting a join, there are other costs maintaining the foreign keys, so there is not really a huge advantage either.

If you are in SQL Server, you can create an index for the view, which materializes the view (creates an underlying table with the data) and you will have performance as querying a single table.