xda developers has a guide for this. See Guide: Using Android Without a Data Plan. I cannot verify these instructions but the comments in the xda thread seem positive.
Below is the section regarding getting apps:
The easiest way to find apps is to type the app name and apk into
google, but most of the time, this does not work (and is illegal for
paid apps, unless you get it from the dev directly). Since this
doesn't usually work, you can get apps using a special avd and the
android emulator.
- Download/Setup the Android SDK and Download the accessmarket.rar file (originally found at
http://tech-droid.blogspot.com/2009/...-emulator.html)
- Copy the contents of accessmarket.rar to C:/Users//.android/avd/ - you might have to enable "show hidden files"
in folder options to see the .android folder
- Edit C:/Users//.android/avd/AndEmu.ini, and change the username in the file to your username
- Start SDKSetup.exe, then click Virtual Devices, launch the device called "AndEmu"
Once this is started, download ASTRO file manager from market (it works in this emulator!) - ASTRO will allow you to backup the apks for
apps that you download from the market. (NOTE: for protected/private
apps, you can use Titanium Backup to back them up)
5.5. You can download any app from the market, and back it up
- The apps you backup will be backed up to /sdcard/backups/apps/
You can use one of the following adb commands to pull these files from the emulator:
adb pull /sdcard/backups/apps/ /AndApps
This will download all of your backed up apps to a folder on your
root drive called AndApps
or
adb pull /sdcard/backups/apps/.apk /AndApps/.apk
This will copy a single apk of your choosing to /AndApps/
After you do this, you need to copy the apk to your sdcard (either by taking the card out, or using the SD Share widget), and then you
can install it to your phone with ASTRO
Note: Special Applications:
Some applications like to let you download themes and such within the
app, without any other source. Most of these applications store files
on a folder named after the app (com.something.something) so you can
download the stuff within the app on the emulator, and backup the
folder on the emu's sd card and put it on your phone.