I can't answer your question about which hotels offer a shuttle to the port, but your information about Amtrak service is incorrect. Baltimore Penn Station, BAL , is not at the airport, it is in downtown Baltimore. The BWI station is a different station located, as you would expect, at BWI airport. While all Amtrak trains stop at BAL not all stop at BWI, so in booking your train travel and hotel you need to take care about whether you need to book tickets to BWI or BAL based on what hotel you're staying at, and if the hotel is near BWI you have to be sure you're taking a train that stops at BWI.