If I decide to discount something, absolutely, haggling is fine. If they're buying a few things, and/or are a few dollars shy in cash, I may be willing to haggle too. However, if someone comes up to me and says, "So, this is $15? I'll give you $10 for it." ABSOLUTELY NOT. It's insulting. I don't work hard to make quality, handmade, often unique items just so someone can make me feel like I'm just getting rid of some spare junk. It's only happened to me once or twice though, so I wouldn't worry about it too much.
I agree whole-heartedly. I really dislike when people
tell you how much they'll give you for something you've clearly marked a price on.
As mentioned in another post above, I too give discounts when people are purchasing several pieces, and yes, I've been known to give a piece to someone for less when they're a little shy on cash. It lets a customer know that you're there for them, which ultimately as part of the rules of customer service, is true. Without the customer where would we be? I have to say that these practices have paid off for me in a good way. Those people are always repeat customers, and have never taken advantage of the deals or expect is as the "norm".
In reference to friends or loyal customers, I do give discounts or offer them special sales. It keeps your friends happy (usually they want to pay full price anyway because they want to help you) and the customers feeling like they're getting something special for being loyal. You can do a card where if the customer buys a certain dollar amount they receive a discount or 5 pairs of earrings and get the 6th free, you get the idea.
Maybe this is getting a little off topic but I feel if you keep your friends and special customers feeling special it keeps the likelyhood that they'll haggle down. Sometimes people feel if they've known someone long enough or buy enough they can haggle them, but keep them happy and chances are it won't happen.