A word that describes a person who has to fight against a more powerful opponent on a regular basis?

Solution 1:

Giant-slayer would work, especially in your requested context. It works well because it casts a positive spin on the firm's niche place in the market.

James doesn't want to be known as an underdog...

...Jack wants to be known as a GIANT-SLAYER!

(I mean, which would you rather hire if you were up against a huge corporation's lawyers?)

For added panache, perhaps James would be willing to go by Jack? This practice is not uncommon according to Wikipedia and in 2013, a movie came out called Jack the Giant Slayer which would mean many people will already associate the name with the label.

Also, OED has a reference to the term from the 19th century:

giant-slayer  n.a1878   G. G. Scott Lect. Mediæval Archit. (1879) I. 38   The giant-slayers of old romance.

Plus, the moniker giant killer is already taken by another lawyer! Attorney Willie E. Gary, according to his website,

"earned the reputation as 'The Giant Killer' by taking down some of America’s most well- known corporate giants on behalf of his clients."

Solution 2:

The most obvious answer to me would be underdog or possibly dark horse. If a single-word answer isn't required, though, you could also emphasize the long odds and the size difference by making reference to David and Goliath--especially since David Hayes shares a common name!