It's by design. It's support in case if a customer submitted some wrong information in the first return request. He should be able to do it one more time. It's up to a store owner to delete duplicated requests
Sure. But you'll to customize the solution in order to ignore already placed requests. You can put this logic in the \\Nop.Web\Controllers\ReturnRequestController.cs file