Yes it is possible to apply the point sources all at the same time. You need to provide a list of tuples each which contain the point and magnitude of the point source and then apply.
Here is some sample code.
mesh_obj = UnitSquareMesh(10,10)
V = FunctionSpace( mesh_obj, "CG", 1 )
v = TestFunction( V )
L = Constant(0.0) * v * dx
b = assemble ( L )
point_sources = [(Point(0.5, 0.5), 1.0), (Point(0.3, 0.7), 1.0)]
ps = PointSource(V, point_sources)
ps.apply(b)
If you are running in parallel, you need to make sure that the points are either all provided on one processor or only locally on the processor that own the points. This stops them being added twice.