Can I restrict a SQL Server spatial field to hold values of specified spatial types and SRIDs?
The usual way to do this would be through a check constraint.  

The properties you want to check are .STSrid and .STGeometryType()

So something like

ALTER TABLE Test   
    ADD CONSTRAINT chk_shape_gtype_srid   
    CHECK (
        shape.STSrid = 4326 AND 
        shape.STGeometryType() in ('POLYGON','MULTIPOLYGON')
    );