A Use the dos.pl program which is shipped with academic source code releases of CASTEP. This somply reads the <seed>.bands file and can directly invoke either xmgrace or gnuplot to make a plot. It has a number of refinements, including a variety of ways to plot a spin-polarized DOS, but uses a Gaussian broadening scheme which smears any sharp features, and can not treat partial densities of states. Usage can be as simple as "dos.pl -xg <seed>.bands", but see "dos.pl --help" for more options.
A. Using the OPTADOS postprocessing code. A copy of this is bundled with academic releases of CASTEP and may be installed on some managed HPC systems.
A. Again, the answer is OPTADOS, which uses an adaptive broadening scheme.
A. Use the "dispersion.pl" script shipped with CASTEP. As with "dos.pl" usage can be as simple as "dispersion.pl -xg <seed>.bands".
A. Using the orbitals2bands postprocessing utility which is part of the academic source code distribution, and which ought to installed on managed HPC systems. This reads a checkpoint file, detects band crossings and and regenerates the .bands file with re-ordered states.
A. Did you calculate the bands for a grid of points rather than a path in reciprocal space? Dispersion.pl and Dos.pl can only with with the <seed>.bands file they are given, and it is your responsibility to set up the CASTEP calculation appropriately.