I want to paint vertices like the image (It is done in Photoshop). The first row is red with alpha 1 and the 6th row is red with alpha zero. I want to blend from 1 to zero in specific area.
Similar to the answer to Smoothing vertex_colors values this can be achieved by assigning the 'fixed color' vertices to a Vertex Group and using a script to 'smear' the color from those vertices over the rest of the mesh.
You could use the script in the linked answer but for ease of use I have packaged it into an add-on which is avialable for download from Vertex Color Blend Add-on. To install the add-on, simply Download the file and use the User Preferences Add-ons 'Install from file' option and click the checkbox to enable it.
Once enabled you should have a new option in the Paint menu for Blend Vertex Colors
Go into Edit mode on your mesh and add a new Vertex Group - name it something like 'FIXEDCOLORS' and assign the vertices you want to have fixed colors to it. Ensure no other vertices are assigned to that group.
Use Vertex Paint to paint those selected vertices the desired colors - it doesn't matter if other vertices are also painted as those will be ignored by the 'blend' process.
Select the Paint/Blend Vertex Colors option and you should get a popup as follows :
Set the Number of steps and initial red, green, blue settings as desired and the Vertex Group to the 'FIXEDCOLORS' vertex group created earlier and click OK to apply.
After a short delay your vertex colors should be updated to blend the 'fixed' colors over the mesh.