Glitching klike you are describin it can have multiple causes, and I can't really tell you what exactly it is in your case.
Its most often caused by unclean geometry, for example edges that overlap but aren't merged, edges with 0 length, faces that share all vertices, etc. Things like this should be fixed by using the Mesh-> Cleanup... command before you start rigging.
That faces refuse to be painted is something that doesn't really happen, mostly it is a problem of the vertices not being where you see them because you are in smooth mesh preview. the hit detection of the paint weights brush always looks for where the geometry really is, not where it is displayed. If you are zoomed in very close, like with fingers, that can mean that the true position of the vertex isn't on screen therefore it can't be painted...
For things like this, I like to do something called weight flooding, you switch to selection mode in your paint weights tool, select the vertices in question, then you switch back to paint mode input the strenght you need your joint to influence the vertex in and use the "Flood" button below the weight input settings.
Now if your weight returns back as soon as you select another influence, that mostlikely means that the influence you just worked on was locked in the paint weights tool.
That your vertices glitch out from their position and don't move means they don't have any weights on them anymore. This means your skincluster isn't normalizing correctly, which most likely also stems from some uncleanness in the mesh. But this can also happen in meshes that are totally fine. What normally helps is, selecting the vertices that glitched out and using the Skin-> Hammer Skin Weights command, this command looks at the vertices next to the selection and tries to average out the skinweights on the selection accordingly. It normally does a pretty good job.
I hope it helps!