I sometimes use a little function [`MaxBy`][1], made to be analogous with [`SortBy`][2]:

    MaxBy[list_, fun_] := list[[First@Ordering[fun /@ list, -1]]]

You need the largest element by length, so you can evaluate

    MaxBy[data, Length]

Note: this based on the same principle as @Brett's solution, but it is slower.  @Brett and @RM's exploit the fact that Mathematica sorts by length by default, while my solution explicitly uses `Length`.  I still think it's a useful little function, so I shared it again. 

The problem with the concept of `MaxBy` is that it only returns a single element while there may be more than one list of the same length.  Here's a somewhat slow but simple implementation that returns *all* maximums:

    allMaxBy[data_, fun_] := Last@SplitBy[SortBy[data, fun], fun]



  [1]: http://mathematica.stackexchange.com/a/905/12
  [2]: http://reference.wolfram.com/mathematica/ref/SortBy.html