When you tap the contact icon for someone, it always offers to let you SMS a phone number. What if you do not want to ever SMS that number, is there a checkbox somewhere that lets you turn off that method of communication for a specific number in the Contacts database?
No, there isn't, AFAIK.
You can however specify a default number if there are more than 1 number. That way the phone will dial the default no. instead of popping up a list when the phone icon is tapped.
I use Handcent SMS in place of standard android one. This has allows you to show only Mobile numbers. This cuts out quite a lot of unwanted numbers.
If there are still numbers you don't want to see then you could change the type from from "mobile" to a custom type of say "mobileprivate"