Thank you Jill, for sending me this image of Highway 17 as it crosses the James River via the James River Bridge!
Here’s what the Virginia Highways Project has to say about the history of Highway 17 from the North Carolina line to the James River:
Initially, US 17 entered Virginia where it does now, but stayed right next to the canal along what is now a bike path. US 17 followed today’s US 17 Bus through Deep Creek. It used part of Fenway Ave and Old George Washington Highway between I-64 and US 13-460. It appears US 17 did not use Deep Creek Blvd to the west of current 17 as VA 40 had already been moved off of it onto current US 17. The route continued using current VA 141 to VA 337 Elm Ave, then east on Portsmouth Blvd to 4th St then Court St to High St (then-US 117/VA 10-12). US 17 used High St east to the ferry to Norfolk, then used Bank St north to Princess Anne Rd (not possible today), then west to Hampton Blvd. US 17 followed Hampton Blvd north to 98th St near the Norfolk Naval Base where it picked up a ferry to Newport News.
In 1931, US 17 was removed from Norfolk altogether, and was rerouted to continue north on Elm Ave in Portsmouth directly to High St where it headed west from Portsmouth along High St, then followed existing VA 503 out to today’s SR 627 then was placed on the existing James River Toll Bridge route, which followed current US 17 over to the James River Bridge into Newport News where it met back up with its original route along US 60. The old route to Norfolk remained part of US 58 and Hampton Blvd became unnumbered.