"But even if I set my Yahoo to display HTML messages, I cannot request all of my clients to do so?"
That is the fundamental problem with specially formatted emails.
You can't use HTML (or any special formatting other than plain text) unless you can force all clients to display it.
Based on your description of the problem, it looks like some of your clients are displaying your email as html anyway ,which will truncate the spaces as you've described.
And you can't control that either.
You should be able to "hint" to them by wrapping your text in properly labeled mime blocks, try 'text/plain'
your spaces should be rendered as spaces then.