Since you're almost certainly going to use the variable in a pinMode or a digitalWrite/digitalRead, then "byte" is the correct type to use. Check the function prototypes.
In the tuts the explaining data types is cumbersome right off the bat, so they just use ints.
That way noobs don't get confused by overflow errors when they start repeating the process.
But when we don't know about it, the different way we can find in coding can be confusing.
So, int ledpin = 13; is ok.
better is :byte ledpin = 13;
even better is const byte ledpin = 13;
and even better would be cont uint8_t ledpin = 13;
The last solution would make the code more portable, isn't it ?
As 'int' is assumed to be signed by default and, at least on most Arduino's 16 bits, it's 'int16_t'.
If you don't like that you might be able to use
typedef int int_t;
Although I'm not sure how the various version of the Arduino IDE will "interfere" with compilations of said user defined type. You can always try it and find out.
What would have been best of all would have been for the Arduino designers to provide a type to represent a pin number, so people could get into the habit of using the correct data type without having to think about what type was most appropriate. Unfortunately Arduino isn't into type safety.
Someone out there is probably prototyping the Arduino controlled Time Machine as we speak, and someone else is likely working on updating the Arduino API to version 2.x.