If you're using the Libname Excel engine, you can specify the MIXED=YES option on the import. This will read the "mixed" type column as character data. There is a side effect that the use of the MIXED= option causes the Excel workbook to be in READONLY mode (according to the doc).
This option seems designed to do exactly what you want.
Right now, I've resorted to import with lots of options, but that seems to be doing the same thing. The problem seems to stem from text added after the number - it looks like SAS sees the number, the blank after the number and blows off the remaining text.
I took care of it:
renamed the one var to pos1 and pos2 respectively and used a combination of in= processing and ifc(vtype()=) that seems to be doing the trick (although I am puzzled by one facet of this - but that's for another day).