Suppose someone calls on the phone and asks to speak to, for example, Bob. You could yell, "Hey, Bob, someone on the phone for you!" But it's considered polite to give him a little more information. You'd like to be able to say, "Sally is on the phone for you." So you want to ask the caller to identify themselves. Thus you ask, "Who should I say is calling?"
"To whom should I say is calling?" would be incorrect grammar. The person calling is the subject, so it should be the subjective case, "who". And you're asking who is calling, not who they want to speak to. If you wanted to ask who they want to speak to, you would say "Whom do you want to speak to?" (Or if you go for that "never end a sentence with a preposition" rule, "To whom do you want to speak?")
If you ask, "Should I say who is calling?", technically that is a yes or no question. It invites the other person to say "no". In real life asking a yes/no question like this is often considered a polite way of asking the real question, namely, "who is this?"
And by the way, you could simply ask, "Who is this?" But that sounds demanding and rude. It seems more polite to ask, "Who should I say is calling?" Or the other common phrase is, "Who is this speaking, please?"
And by the way, a side note on etiquette: If the person they want to speak to isn't available, it sounds better to tell them this BEFORE you ask who is calling. If you say, "Who should I say is calling? Oh, Sally Jones. Well, Bob isn't here right now", then it sounds like if it was someone else calling that maybe Bob would be there right now.