The difference between bitcoin and a $1.99/min phone-call is that your phone number is already linked to you through a central service. Your bank account is attached to it.
And if you're using a prepaid phone or a burner, then you can't call 1-900 numbers and our analogy is back to square one.
So when you say this:
I can look at the incoming transaction and figure out its inputs, can't I? I then know who the sending address is. If I had a mapping (internally) from the sender address to some business service or product I need to sell to them, then I can validate at this point that the payment was made from them.
It sounds like you're expressing some sort of "reverse address lookup", but I'm not convinced that you actually want that.
On my original question then -- there is no effective way then to advertise a service and tell people to pay to that service.
No, your original question was "I'm building <X> because [I think] it's how to solve <Y>. Help." Yet you only seem interested validating your assumptions instead of reconsidering them.
The bottom line is that, in the examples you mention, you'd control some sort of rendezvous point for your customers.
A simple example would be a form on a checkout page where they type in their shipping address and it generates a unique bitcoin address for them to pay to. Any time a form is submitted, you insert into your database (A) the user info, (B) the bitcoin keys that you'll start watching, and (C) the order so you know how to fulfill. From there you could let them generate a username and password just like every other ecommerce website.
Having that extra level of indirection where you need to click someplace to then get directed to the right "payment address" is possible but a hindrance.
It's no different than having to actually go to amazon.com to buy their products, or click a google result to go to a website, or type in buyhatsforcats.com from a newspaper ad to buy your cat a hat.
Anyways, the best way to get help is to outline exactly what you actually want because that's the critical info that this thread is missing.