The major reason for using white ball in ODI and T20 is that ***many of those matches were happening as Day & Night matches and it was very difficult to spot the red ball*** under floodlights. Cricket balls were traditionally red and test matches still use that(Compared to red ball, white balls deteriorates more quickly and hence red balls are more suitable for test matches).

From [Cricket ball Wiki][1]:

> Cricket balls are traditionally dyed red, and red balls are used in
> Test cricket and First-class cricket. **White balls were introduced when
> one-day matches began being played at night under floodlights, as they
> are more visible at night**. Professional one-day matches are now played
> with white balls, even when they are not played at night.

This was one of the reasons why the player's dress color was changed from white to colors so that the ball can be spotted very easily in ODIs and T20s. 

There was also an attempt to experiment with some other colors as well as mentioned in the wiki:

> Other colours have occasionally been experimented with, such as yellow
> and orange for improved night visibility, but the colouring process
> has so far rendered such balls unsuitable for professional play
> because they wear differently from standard balls. A pink ball was
> used for the first time in an international match in July 2009 when
> the England Woman's team defeated Australia at Wormsley.

**Edit:**
As per the Wiki page: 

> The white ball has been found to swing a lot more during the first
> half of the innings than the red ball.

So you are correct, white balls swings more than the red balls during the first half of innings.

  [1]: http://en.wikipedia.org/wiki/Cricket_ball#Manufacture