How can I speed up assigning materials to specific faces (for low poly style)?
Here is a solution similar to what you are asking, but not exactly. For this solution, you will be selecting the faces you wish to color, then assigning the color from a palette.
Create a 5x5 pixel image (or other tiny resolution image), and fill each pixel with a color you want to use.
Then open the shader editor.
Then, ⇧ Shift +  A, S for search, then type image texture.
Connect the image texture Color output to the Base Color input of the Principled BSDF node.
Then, open the UV Editor, and in the dropdown select your palette image.
Scroll up to zoom in to your image.
Then, tab into edit mode on your object, hover over the UV editor, then press  A,  S, $0.01$.
Now, your faces should be tiny in the UV editor.
When you want to change the color of a face or multiple faces, you can select any faces in the 3D View, hover over the UV Editor, and press  G to grab the faces and move them onto any of the colors in your palette.
Source