tinycontrol1.jpg

Here's the smallest portable controller you'll find and it is called iMpulse. It managed to squeeze in a directional pad and it has buttons.

Get it here: [ThinkGeek]

tinycontrol2.jpg