I’m a self-taught hobbyist Mac programmer. It takes a lot of time and hard work to get there, but it’s doable. You basically have 2 approaches to take when you’re just starting out without a Mac.
If you’re the type that likes to know where every little detail goes and how it all fits together, then start with C. Objective-C is a strict superset of C (which means all C is valid Objective-C code, but not the other way around), so knowing C and feeling comfortable with managing memory, typing, pointers, data structures, etc will all be critical to writing Mac software.
If you’re the type that likes to ease into things, and want a language that hides some of the complexity for you while you’re getting started then I would suggest Python. You’ll eventually need to learn all of the nasty details of pointers and memory management when you’re working with Mac software development, but you may want to “take things on faith” with Python when you’re just getting started. Python is an excellent language, and will be helpful to you later on even after you learn to write Mac software.
If you do go the Python route, then later you’ll still need to learn C. Up until this point, it’s not necessary to own a Mac. It’s going to take you a while to get to the point where you feel comfortable writing simple C command-line programs. Hopefully by this point, you’ve saved up enough to buy your first Mac (get something that can run the latest version of OSX which will probably be 10.7 by the time this is an issue). A refurbished Mac Mini is a great way to get your foot in the door cheaply, and allows you to re-use your exiting monitor, keyboard and mouse that you have on your pc, a used/refurbished iMac is another good starting place, but will cost you more.
Now you’re ready to learn Objective-C. Technically you can write Objective-C on a PC with GNUStep, but you’ll be missing some important things that are Apple-specific. When you’re ready to learn Objective-C the book you need to get is Stephen Kochan’s Programming in Objective-C 2.0; it’s excellent and will be useful as a reference later on. The author wrote a book on C as well, which might be a good starting place.
Once you’ve finished learning the language of Objective-C, you’ll be ready to learn Apple’s Cocoa framework. Cocoa is made of both the foundation framework (which Kochan covers the basics of in the 2nd part of his book) and App Kit. Once you’ve gotten to the point where you can comfortably write simple (and even moderately complex) command line Objective-C programs, it’s time to move on to learning Cocoa. The book you need for this is Cocoa Programming for Mac OS X by Aaron Hillegass. It’s excellent, but won’t make any sense if you’re trying to skip ahead too quickly. Also be sure to consult Apple’s documentation if you run into problems, or areas that you can’t grok from the book.
Good luck, and be prepared to invest a lot of time and energy.