Solution 1:

Free dictionary entry for sordid (adj.) includes (from Collins)

  1. selfish and grasping: sordid avarice.

and (from Random House Kernerman Webster’s College Dictionary)

  1. meanly selfish or mercenary.

—so yes, I think sordid is spot on. Other meanings—squalid, filthy, etc.—do indeed cover your No-tell Motel scenario, but the word clearly also covers what you want it to cover.

Solution 2:

Sordid has a definitely sleazy connotation to it.

If you used it to describe an affair, for example, it changes the imagery and meaning almost immediately.

"She heard Sam and Alex had an affair" sounds more mediocre than "She heard Sam and Alex had a sordid affair."

Now, discussing the affair seems to be about how morally degrading it was.

Even sordid's root word is the Latin verb sordere, "to be dirty" as in filthy, and sordid has a sense of making the noun it's associated with become despicable or vile.

For your character, sordid sounds like it fits well with the whole "dirty deeds done dirt cheap" depiction given in your question.

Other similar options: squalid, seedy, seamy, or unseemly.