For example, I routinely receive SMS from people in my ward or stake who I'm unlikely to contact on a regular basis. That's a few thousand people and the population changes weekly. I don't want all that info in my regular contact list.
Fortunately, I run my own little phone system that uses XMPP for sending and receiving SMS. I wrote a gateway to handle the conversion back and forth between those networks. That gateway can run a script to perform caller ID however I want. So now I have something like this when an SMS arrives:
- check my personal address book
- check the stake directory
- check 800notes for records of telemarketing
I also have multiple external phone numbers. One of them is a junk number that I give out when I fill out online forms. If an SMS comes in to that number, the caller ID appears with a "(junk)" prefix.
It's a lot of fun to be able to write a couple shell scripts to customize how your phone works.