1. Put yourself in situations where you can meet more tech people
Most (not some, most) of the work I've gotten came from a chance conversation with someone who was working at a place that needed the skills I have. So try to have more of those conversations. I live in suburban Ohio in the heart of the rust belt, so this can be done anywhere.
2. Try consulting instead of full time work.
A lot of businesses have problems, but can't afford a full-time coder. It also sounds like you don't want to be working full-time anyhow. Try doubling your rate and finding 2 clients who each buy 10 of your hours a week. This is much easier to do if you do number 1. Even better, charge a daily or weekly rate so you don't have to keep track of your hours. This also allows you to pay your taxes on April 15th every year, instead of having it deducted from your check, giving you more cash flow options and more runway.
3. Work Remotely
When you do 2, you can negotiate 3 pretty easily. A business that just needs you to fix javascript bugs on their website 1 day a week probably doesn't want to dedicate the infrastructure to have you in their office. This will save you even more time, energy, and stress by eliminating your commute.
4. Structure your time better
Set constraints on yourself for doing what you need to do, when you need to do it. If you're coding 2 hours a day, then set aside 3 hours of your day where you don't do anything but code. No email. No web surfing (other than what you need to code). No phone. If you have meetings, schedule them consecutively. Let your brain be in meeting mode for 3 hours, then go grab some lunch, then come back to the office and put your brain in code mode for 3 hours. This way, you can even have time to multi-task (answer emails, talk about local sports team, read HN) at the beginning and end of the day. This takes some discipline, but you'll get more done if you have full chunks of time dedicated to one thing.
5. Say "No" more
You can't do 4 without doing 5. Don't be rude, just explain that you're busy with something else and that you can discuss at the next meeting you have scheduled. Put headphones on while you're coding and gently set boundaries with your co-workers that you're not available for chit-chat when your headphones are on. I've found that music without lyrics is best for coding. I have a John Williams station on Pandora that I use all the time, here, have a listen: http://www.pandora.com/?sc=sh216294333998280127&shareImp=tru....
Finally, don't give up hope. In my experience, it's easier to find a good job once you know what you don't want. It sounds like you have a good idea about that, so make sure to ask questions at your interviews, sales calls to make sure they aren't making the same mistakes.
Good luck!