I have a couple clients for small fixed-price job that are deadbeats, who are "ghost" and don't respond to messages anymore except to ask for more work or otherwise play games when I select "submit payment" - it's happened several times with them now and I figure my chances of being paid for those jobs is about nil at this point.
I understand that there's perhaps a 1% chance they might come around and pay, but is there any way to proactively just dump these ghosts off my jobs list on my end eventually or do I have to just keep them there forever?
You do not have to keep working for a client, you can end the contract at any point and not do further work for them....
Things to bear in mind though, you do not want to close a contract that has never had money paid on it - i know you said you have worked for them several times, but if it is a new contract for this peice of work then you need to recieve payment under the contract before closing to avoid negative jss impact.
Are these hourly or fixed price contracts? if fixed price and you click the submit work for payment button then you should be paid in 14 days if the client doesnt respond. (assuming you are working under a funded milestone?)