After playing around with this some more, I have finally been able to achieve my goal of nice fluffy smoke images. I thought I would outline the procedure for anyone interested (using Microsoft Paint and Adobe Photoshop).
1) In Paint, use the Airbrush tool to draw a simple smoke sphere. Use white, black, and shades of gray to make it look "lumpy" like a cloud, something like this:
2) Load your cloud in Adobe Photoshop, and go to Image->Adjust->Invert. The result should be a mask that looks like this:
3) Open an image of some real-life smoke. I used the following jpeg of cigarette smoke:
4) Go to Image->Image Size, and make your smoke image the same size as the mask in step 2 (make sure "Constrain Proportions" is not checked).
5) With the "Select" tool on, right-click the resized image and choose "Select All".
6) Go to File->New, and make a new image the same size as the mask in step 2 (make sure "Transparent" is selected).
7) Go to Edit->Paste.
8 ) Go to Layer->Add Layer Mask->Hide All.
9) In the Layer Pannel, choose the "Channels" tab.
10) Turn on the Eye next to "Layer 1 Mask":
11) Go to the mask image created in step 2, select all, and copy.
12) Return to the new image from step 6, and paste.
13) Go to Filter->Blur->Gaussian Blur
14) Move the slider to achive the desired fuzzyness, and click Ok
15) Return to the "Layers" tab in the Layer Pannel, and select the "Layer Thumbnail" to see the final result:
I will now begin programming the smoke animation in jPCT, and I'll post a demo applet when I get it working properly.