Finding an inexpensive programmable, cellular data device
From Sparkfun, the PIC GSM cellular development board   However, this will do SMS data, not 3G data which I'm guessing would be preferred?  Also, it's way outside your price range: $250.  Judging by the fact that just the GSM cellular chips are about $150 by themselves I don't think you're going to hit your price point, especially if you're looking for 3G data.

Now this idea isn't strictly in keeping with your ideal (from what I can tell, a 3G data unit with simple interface or built-in 8/16/32 bit microcontroller), another option might be a simple wireless router with host USB capabilities and a 3G USB modem.  I know that DD-WRT can support these, and probably OpenWRT and/or Tomato.

There's also the Arduino wifi shield for $55 if wifi is acceptable

EDIT:  I looked into the Linux DIO thing, and on my router (Asus WL-500GPv2) there are digital I/O pins that can be accessed via /dev/gpio.  It looks like the setup involves an 'outen' file that specifies which lines are outputs, an 'out' file that lets you set DIO by writing a byte value to it and an 'in' file that can be read to view the current state of the GPIO.  There's a forum post describing it here.

Does anyone else find it fascinating how Linux accesses hardware by reading and writing to it like a bytestream?