If your agent works for a brokerage and they are not the broker, then the broker "owns" the listing and your agent is servicing it. Therefore, you can ask the broker for a different agent, if you can show good cause and the broker agrees.
You have some great advice here.
Sometimes the Realtor bears the fault because the seller is not willing to do what is necessary to get a home sold. Sometimes the Realtor is unable to communicate effectively to the seller what needs to be done.
I would caution you that in most cases, price is the key reason a home does not sell. Buyers are looking for value. If homes like yours are selling, then as the seller, YOU have the control of whether or not your home sells, not the Realtor.
If the Realtor is sharing showing feedback and market data with you, you should know what needs to be done to get your home sold.
Whether or not I release a listing might depend upon what the reasons are for the request. Unfortunately, there are sellers who will attempt to go around the Broker/Agent to cheat the person/company out of an honestly earned commission. I am not suggesting that is your objective, but wanted to make you aware that agents/brokers must look to this possibility since it does happen.
The cancellation terms are defined in the lisitng contract and can range from as simple as a written request to rare exception.
A shorter listing period of not an answer. Shorter listing periods speak to a weak commitment on your part, and in turn can easily garner a weaker commitment on the part of the broker/agent. An Realtor who is only going to get paid upon selling your property will work harder for you when you make a full commitment to them. In a short term listing, you often find weaker marketing components. Instead of pursuing a short term listing, define the cancellation policy if the Realtor fails to deliver the commitments made. This provides you an out for solid basis while giving you and the Realtor benefit of a stronger working relaitonship.
If you don't like me I probably don't like you.
As for firing your agent. Lay it all out on the table or email. Tell the Realtor you want to cancel, if the selling agent says no. Talk to the broker.
If you get out, be sure to ask the next agent you hire what his/her policy is if during the term of the listing agreement, you are unhappy and want out. I always let my listers know that I will release them from the listing agreement at any time during the listing period if they are unhappy with my performance. It's my 100% Satisfaction Guarantee. I don't want anyone to have to work with me. They work with me because they want to! A shorter term isn't the answer. I would recommend you interview people at length before deciding who to hire. It's an important decision. You will have to work with the person for 6 months or more.