I use "i" as short for "index", as array access is typically common usage for such a variable. This is also in line with it's usage in mathematics; ie:
Capital-Sigma notation for summation, which uses i, m, and n to represent the index of summation, lower bound, and upper bound respectively.
Note that as far as programming goes, a simple loop should be the only acceptable place that you use a single letter variable for; it's bad programming practice to use single letter variables anywhere else. There is no runtime cost overhead for using descriptive variable names.