An objects with multiple faces can be assigned multiple materials, but it seems that vertices and edges can only share one material? I would expect that assign would also work for non faces, but apparently that is not the case.
Edit: In the comments below it has been pointed out that only Faces can be rendered and have materials. In the example the red material has no face connected to it, is only an edge, and yet can rendered via the modifier which creates the faces. It appears the basic mechanism is in place to make it possible to separate the materials further in this way, but is - perhaps for lack of interest - not yet coded.
For those who ask why would you need it? In Edit mode you have have a design flexibly that is not easily recreated when tabbing in and out of Object mode.
Ter info: The setup above is with the screw modifier. [Blender 2.78]