By "let people to edit one of the keys", I assume you're talking about end users. If that's the case and you don't like having hair, go right ahead. You'll pull your hair out trying to figure out why none of the references work.
OK, I'll be serious now. My philosophy about keys is simple. Never use real data for a key. Period. Sure there are unique data that can be used for a PK, but I NEVER use it for the PK. I also avoid composite keys like the plague. The only time I'll make an exception is if I'm doing some kind of embedded work and I'm limited to a couple of MB of space. Ask yourself: in a reference table, how much space am I going to save by using something other than an incrementing integer as the PK?
That said, conventional wisdom also tells us that we find records to update by the primary key (most of the time). If you change the PK, how do you know you're updating the right record? If I were you, I would avoid ANY user updating the PK. Ever.