The short answer is you can't, reliably. If you're trying to make it work in a number of commonly used browsers such as IE6, 7, Firefox etc you'd have to rely on JavaScript rather than CSS to identify elements within your document that fit your rules for styling and apply a class to each one of those elements.
For cross-browser compatibility, you'd need to wrap arrayed field labels in a classifying element or apply classes to the labels to separate them from normal labels.
What I would do here is wrap the list of radio options in an (un)ordered list (for semantic meaning), and normal text fields in a single paragraph.
E.g. Normal Name:Value pair:
<div class="form_row">
<label for="txtFirstName">First Name</label>
<p>
<input type="text" class="text" name="firstName" id="txtFirstName" />
</p>
</div>
And then for a Name:Array pair:
<div class="form_row">
<label>Gender</label>
<ul>
<li><label for="rdoGenderMale"><input type="radio" class="radio" name="gender" id="rdoGenderMale" value="male" /> Male</label></li>
<li><label for="rdoGenderFemale"><input type="radio" class="radio" name="gender" id="rdoGenderFemale" value="female" /> Female</label></li>
</ul>
</div>
Now to style it appropriately, you write your normal rules for Name labels:
div.form_row label {font-weight:bold;}
div.form_row ul {list-style:none;}
div.form_row ul label {font-weight:normal;}
hth, ndorfin