Unfortunately I think you're out of luck. There has been some success in getting SharpDevelop to compile managed smart device apps, though there was a period where is was broken in SharpDevelop too. I don't believe that debugging directly against the device or emulator works, though, so I'd be highly inclined to not bother. Developing without a debugger is unbelievably painful.
Even with this you don't have native support. What's your option htere? Well there's CeGCC and PocketGCC, but neither of those projects has had much activity in the fast few years - I'd say they've withered and died.
So really, Visual Studio is the only viable option.
Many in the development community (including myself) complained vocally when Microsoft stopped providing a free solution for smart device development. Believe me, we sat in several closed rooms in Redmond and yelled at several people about this - and it was way back in the Studo '03 days that we started yelling. The standard response was that the development side (whom we talked to) don't handle the business side (of pricing, SKU features, etc). Unfortunately I understand that, and I believe they were telling the truth.
To make matters worse, Microsoft made the unbelievable stupid decision that in VS '08 they'd not just require Standard (like they did in VS05) but they move it back to a Professional and better SKU feature again (where it was in '03) and thereby increase the cost to do development.
So what's your recourse? I'd recommend that if you can't afford the license, then look around for programs and offers that might give it. There was a time when Microsoft provided "driver developers" a free copy if they promised to develop and sell a driver within a year. I don't think they ever checked to see that you actually did (and if they did, creating a driver that does very little is only a couple hour task). If you're a student try to get a student discount. If you play with hardware, look for a kit that comes with VS. If you have any contact with any Microsoft reps at work, complain about this feature lack. Even if it's to the Office rep.
Edit: Just FYI, I ran it up the flagpole again this morning with the Visual Studio for Devices team telling them to tell their managers to think about a free option under VS 10. No idea if it will help or change things, but I've already seen another half dozen people jump in and agree with me, so there's certainly support and pressure for the idea from the outside.