You can color different polygons in one shapefile differently - you don't need to put them in separate shapefiles. You do it through the Layer Properties and the Symbology Tab.
Once you are on the Symbology tab, you have a number of choices of how to symbolize your data. Which option is best depends on the type of data you are working with the information you have in your attribute table.
If there is a field in your attribute table that has a unique identifier for each polygon (which it sounds like from your question), and you would simply like each polygon to be a different color, you can choose Categories and then choose Unique Values.
Under Value Field, choose the field that contains the unique values and then click Add All Values at the bottom. Once you have this set, you can change the color ramp or modify the colors for individual values.
In this example, I symbolized a shapefile of Pennsylvania so that each county is a different color. This is what my Layer Properties window looks like:
And this is what my results look like on my map: