You can send every item to republish via CoreService. You can user in your publish instruction ResolvePurpose.RePublish It can be something like this:
private PublishInstructionData publishInstructionData = new PublishInstructionData()
{
ResolveInstruction = new ResolveInstructionData()
{
Purpose = ResolvePurpose.Publish,RePublish
},
RenderInstruction = new RenderInstructionData(),
MaximumNumberOfRenderFailures = 10000,
};
If you want to integrate this in GUI, you can always create GUI Extension that will execute this piece of code.