This is what worked for me on MAC OS 10.6.8 with Bitcoin-Qt 0.8.1-beta.
I'm combining and editing the [Pygmy script][1] and Nick ODells answer, there were a few typos.

Also note, I opened the application with right-click >> "Show Package Contents" and then edited the files with the finder, and TextWrangler. No Terminal required!

1) Create new directory in `Bitcoin-Qt.app/Contents/Resources` and name it `data`

2) Navigate up a level and then open the MacOS folder

3) In that folder, create a new file called `start.sh`

4) open that new file in a text editor and write:

    #! /bin/sh
    dir1=$(cd "$(dirname "$0")"; pwd)
    dir=`echo $dir1 | sed 's/"/\\"/g' | tr -d '\n'`
    data="$dir/../Resources/data"
    "$dir"/Bitcoin-Qt -datadir="$data"
note that the last line contains the name of the only other file in the MacOS folder (Bitcoin-Qt). That's important! Because that is the program that will be executed a the end of the script you just wrote. Also, that fourth line has to link to the 'data' folder we created in step #1

5) Navigate back up a level to `Bitcoin-Qt.app/Contents/` and open the file called `Info.plist`

6) Find the lines that look like this:

    <key>CFBundleExecutable</key>
    <string>Bitcoin-Qt</string>

Change it to:

    <key>CFBundleExecutable</key>
    <string>start.sh</string>


  [1]: http://stackoverflow.com/questions/733824/how-to-run-a-sh-script-in-an-unix-console-mac-terminal