Fiducial marks: Do they need to be a pad or is it okay if I use the top silk layer?
You need to use a copper pad, with a corresponding clearance in the soldermask and ground planes.

The reason for not using the silk layer, is the tolerances of aligning the silk are typically terrible - on the order of 10-20 thou at best. There is no need for high quality registration of the silk layer as it is there for reference only, so manufacturers don't bother trying. The alignment is also not repeatable as each board will screen print slightly differently.
Having the fiducial pad on the copper layer ensures that the location of the fiducial is exact with respect to the copper pads (well, to within tolerance of the copper which is usually the odd thousandth of an inch), and will be highly repeatable.

In terms of size of the fiducial, your assembly house should be able to provide guidance. In my experience for local fiducials (e.g. beside BGA package), a 1mm pad diameter, and 2.5mm soldermask clearance diameter should do fine.
Larger fiducials are typically recommended in the corners of the board, something like a 1.5mm pad diameter and 3mm clearance would suffice for this.
When placing fiducals in the corners of the board, it is advisable to place them in an asymetric manner to help identify incorrectly rotated boards. This is typically done either by placing fiducials in only three corners (the lack of a fiducial in the forth acts as an index), or to offset one of the fiducals by a fixed amount.