Open iPhoto by clicking its icon in the dock.
Open a new Finder window by clicking its icon in the dock. Navigate to the image you would like create a wallpaper from. Now drag this file into the iPhoto window.
iPhoto will create a new Event for your image.
Click the Edit button at the bottom of the window to edit the image.
Click the Crop button at the bottom of the window to crop the image.
Crop marks will appear over your image. You will also notice constrain options overlaying your image.
Check the box next to Constrain then from the dimensions dropdown menu select Custom....
Two dimension fields will appear next to the dropdown menu. Set them to 320 and 480 respectively.
Finally if the crop marks are displayed in landscape then select Constrain as Portrait from the dimensions dropdown menu.
You can now drag the crop handles to select a portion of your image to be the new wallpaper. Whenever you are happy with your selection click the Apply button.
Click the Done button to exit from Edit mode.
Select Export from iPhoto's File menu.
A popup window will appear. Make sure the Kind dropdown is set to Current then click the Export button.
A Save Dialog window will appear. Enter a name for the wallpaper in the Save As: field. Select the folder location to save the file (pick the same location iTunes syncs your iPhone's photos to) then click the Ok button.
You can now close iPhoto and open iTunes.
Select your iPhone from the list of devices on left. Then click to select the Photos tab.
Check the box next to Sync Photos From and select the folder in which you saved your newly created wallpaper from the dropdown menu. Note: in my case I have a folder called iPhone and under it a folder called Wallpaper in which i store all my wallpapers.
Press the Sync button at the bottom right of the window to sync you new wallpaper to your iPhone.
To display your newly created wallpaper, press to select Settings from your springboard.
Then press to select Wallpaper from the Settings Menu.
Press to select Photo Library to view all the images on your iPhone.
Press to select the wallpaper we just created.
You can now move and scale the wallpaper to tweak how it looks on the iPhone. Once satisfied click Set Wallpaper to set the image as your new Wallpaper!