For example, I have my key listed on a key server. On one day a key issued on the name of Julius Caesar signs my key. Obviously this key is a fake key and I want to remove its signature from my key can it be done? Can I block unsolicited signing of my key? Can I make signatures appear on my key only when I have validated them?
As each certification is an independent OpenPGP packet, of course it can be deleted -- OpenPGP allows so by opening the
gpg --edit-key <key-id> menu and running
delsig in there. An alternative would be to use
gpgsplit to split up an OpenPGP key file into its individual packets, removing the offending signature and con
catenating the files again.
You cannot remove anything from the key server network, though. Most key servers synchronize with each other, and this is done by just merging all unknown packets with no exceptions. Using the common key server software, it is not easily possible to delete a single packet (you'd have to dump everything, find the offending certification, delete it and import the data again). But even if removed, the offending certification will be merged back as soon as the server syncs up to the others again.
You will hardly be able to convince a key server operator to remove a certification for the given reason; and for technical reasons, you'd have to convince all key server operators to do so at the same time (and hope, no other user has a copy of that certification and uploads it at some point in future again).
One of the design principles of the OpenPGP key server network is preventing deletion: by just always collecting all information the servers can get hold of, it is very hard for even powerful attackers being able to control relevant parts of the servers to apply any kind of censorship. The fact that wrong information might be contained is accepted, no content in the key server network is validated at all (apart from some basic, technical verification on the protocol level).