Regarding your first question, there is no optimal data set. The purpose of using Proc MI is to develop several data sets so as to avoid the problems of bias that is typically associated with single imputation. To use only one of those data sets would still leave you with most of those issues. It might be helpful to review the Overview section of the MI documentation to familiarize yourself with its purpose.
SAS Help Center: Overview: MI Procedure
Multiple imputation inference involves three distinct phases:
The missing data are filled in m times to generate m complete data sets.
The m complete data sets are analyzed by using standard procedures.
The results from the m complete data sets are combined for the inference.
MIANALYZE would be used in the 3rd step. Proc MI is used as the 1st step. The 2nd step would be to run whatever analytical procedure you are planning to run (such as for a regression you would use Proc REG).
Regarding your second question, if the data is gathered as discrete measurements, then it may be that you need to use the CLASS statement as already suggested. If instead you want the round the measurements to a certain precision, then you could use the ROUND= option, but you will need to be explicit in mapping it to the variables.
So for example, if you want to round variables A and C to the nearest tenth and not round B and D, you would use the following:
proc mi data=yourdata out=outdata round=.1 . .1 .;
var a b c d;
run;
Note how the ordering of the values on the ROUND= option matches the ordering of the variables on the VAR statement.
... View more