Hi,
You could create a custom product field with a single dropdown with the 26 letters so that you could select the letter in each product. And then you could create a list filter on that custom field to get such a selector on the products listing.
And finally, you could have a mass action to automatically fill the custom product field based on the product name. You could do that with an action "update the values" on the column of the custom field with the mode "operation" and the code:
upper(left(product.product_name, 1))
That way, when you run the mass action, it would automatically get the first letter, uppercase it and store it in the custom field.
And you could add a trigger "after a product is created" and another one "after a product is updated" to the mass action so that it would run the mass action automatically for you when you create/update products.