Special Relativity is used for objects traveling on a constant velocity, whereas General Relativity is used for objects that are accelerating. The first thing needed to explain why the flash cannot run at the speed of light is to define the variables behind Einsteins infamous equation. Below are the variables.
E = Kinetic energy for the object in motion
m = Mass of the object
C = Speed of light = Constant = 3x108 meters per second
Since C, the speed of light, is a constant, this means the the kinetic energy and mass of the object are the only fluctuating values. This means that the faster one moves in a single direction, will result in an apparent gaining of mass from stationary spectators.
So, focusing on Special Relativity, our superhero, The Flash, comes into play. If he were to run by a stationary spectator, he would appear to be gaining mass as his speed increased. Once he nears the speed of light, his apparent mass has become so grand, that he is no longer able to produce enough force against the ground to accelerate any further, thus only being able to reach a final velocity close to the actual speed of light.
There are other factors that come into play with Special Relativity, such as the perceived slowing of time and the perceived length of object moving at such a speed. But, seeing as these play no real factor into the possibility of The Flash making it to the speed of light, I will save them for another date (arguably because my brain is still spinning from trying to understand the principles themselves).
This information is all thanks to chapter 6, titled "Like a Flash of Lightning - Special Relativity", in The Physics of Superheroes, by James Kakalios. In, which is supposed to be a "basic" understanding of physics, except for maybe this particular chapter.