There are good points in the other answers, but I feel they do not press enough on what matters. Hopefully, it is not too late :)
she insists that she would like to develop skills in areas outside of programming
That is perfectly healthy behavior. Many people (I am one of them) like to diversify their work. Another many people (again, I am one of them) have the need to change the direction in their career.
She has asked that we allow her to work on graphic design and marketing projects during work hours in addition to her duties as a developer
Wow! Not only that she knows exactly what she wants, but she also understands the business needs. She asks NOT for the CHANGE of work, but for EXCESS of work!! That is a very strong argument for:
- the fact that she really wants to do something else - even if that means paying a high price (becoming overloaded);
- she is involved in the well-being of the company, and she does not (yet) have plans to leave - which is great again, at least for the company.
I have tried to explain that we hired her to do one kind job and not other random tasks to no avail.
You seem to be a bad judge of characters and bad manager. You do not understand people. You do not understand teams. You need to train yourself in many things, and get a lot more experience, before you can call yourself a good manager. Maybe you should use those opportunities of learning yourself.
Since she is a fairly productive employee this isn't really a reason to let her go
She is still a fairly productive employee. She will be less and less motivated, until she will probably quit. A bad outcome for the company. Unless you do something to keep her.
I can't see how we would be able to have her work as a programmer and a designer simultaneously.
You must not have her do the job of 3+ people. Move her gradually towards what works best. She is just a human after all, like everyone else.
What, if anything, can I do to help this employee find what she's looking for?
You did not get the point of all the situation. You need to do nothing to "find what she's looking for". Just listen to her - with the purpose to hear and understand, NOT with the purpose to complain and reject. She already told you with the most explicit words what she wants. The better question is: What do YOU want, actually?
From your question, I understand that you tend to be a despotic manager, with no people's (leader) skills. Do you really want that? Or maybe you want to "take [your own] professional growth very seriously", and "continue to study and improve" yourself.
I am sorry if the answer "sounds" less than friendly. That is totally unintended. I just cannot transmit my message correctly, while being entirely politically correct.