You cannot recruit when under siege. This is hardcoded and cannot be changed.
For EBI, there was discussion of a "garrison script" that will spawn weak units when a town is under siege to represent the fact that the towns folk are being armed. The script however would require a huge increase to the already bulky script and was decided against. There is also the problem of the fact you can't disband those units to make those towns folk go back to their old jobs if they manage to lift the siege.