That line, which is outside the setup and loop functions, declares a variable.
Specifically, it declares a variable named "ledPin".
Because it is not inside any functions, this is a global variable - it can be referred to from anywhere within your sketch.
It is a variable of type int - that is, a 16 bit signed integer, which can represent a value between -32768 and 32767.
And it is being initialized to the number 13.
Pin 13 happens to be the number of the pin with the LED connected to it on the Arduino boards; The point of this variable is simply so that later on, when we want to refer to the pin with the LED connected to it, we can refer to ledPin, instead of pin number 13. Then if we wanted to use a different pin, we'd just change it in that one place - plus as Crossroads said, it's easier to remember.
Also as crossroads noted, there's no reason that has to be an int - it could just as well be a byte (8 bit unsigned integer - 0 to 255), and still store any pin number, thus saving a byte of memory.
The reason the size of the variable must be specified is that memory needs to be allocated for that variable, and you need to tell the compiler how much memory. Keep in mind, you only have 2048 bytes of ram, so every byte matters... In some higher level languages, the type of a variable doesn't need to be declared (they figure it out for you behind the scenes) - but this is C, and you do have to declare a type for all variables.