1. You could use something like this:
data work.MyDSN;
infile "MyPathToMyRawDatafile\RawDataFile" dlm = '09'x;
input charvar1 $ charvar2 $ numvar1 ;
run;
2. To change the type of a variable you could create a new variable and put the old variable into the new one. If you want you can drop the old variable as well;
data MyDSN; set MyDSN;
length numvar_new 8 charvar_new $ 4;
numvar_new = put(charvar_old,1.0);
charvar_new = put(numvar_old,1.0);
* If the old variables are no longer wanted;
drop charvar_old numvar_old;
run;
3. The SAS Help Documentation does not mention such an option, thus the answer is: no. If you want to use formats you should add a datastep after the proc import in which you specify the formats for each variable OR you use a datastep to import (instead of proc import) and specify there which formats the variables should have.