I have Cox telephone as part of my cable/internet/phone bundle and they have call rejection as a standard feature that allows me to put up to 31 numbers in a rejection list. If someone calls from one of the numbers in the list they get a recording saying this number is not accepting calls at this time.
If your provider doesn't have call rejection you could switch to one that does and still keep your number. Porting over your current number to a new provider is standard now and I'm pretty sure all phone companies and cell providers do it.
Actually...Panasonic makes a PHONE that will let you block numbers! A guy from Alabama on another forum used one when a drunk from NYC was calling him at all hours to "chat". (Seriously.) Lemme see what I can dig up on it.