It is better to inlcude the filter within .nodes() as XQuery expression.
Especially with big XML it is an overkill first to read everything, just to filter it out at the end.
The following will return NULL for id=1, one XML for id=2 and two entries for id=3:
DECLARE @tbl TABLE (id int,xmlField xml);
INSERT INTO @tbl VALUES
(1, '<CustomerStrategy>
<ChampionChallenger GroupId="BureauPhoneTest" IsChampion="1" StrategyName="New Bureau Phone Champion" IsSelected="true" />
<ChampionChallenger GroupId="BureauPhoneTest" IsChampion="0" StrategyName="New Bureau Phone Challenger" IsSelected=""/>
</CustomerStrategy>'),
(2, '<CustomerStrategy>
<ChampionChallenger GroupId="BureauPhoneTest" IsChampion="1" StrategyName="New Bureau Phone Champion" IsSelected="true" />
<ChampionChallenger GroupId="BureauPhoneTest" IsChampion="0" StrategyName="New Bureau Phone Challenger" IsSelected="true"/>
</CustomerStrategy>'),
(3, '<CustomerStrategy>
<ChampionChallenger GroupId="BureauPhoneTest" IsChampion="0" StrategyName="New Bureau Phone Champion" IsSelected="true" />
<ChampionChallenger GroupId="BureauPhoneTest" IsChampion="0" StrategyName="New Bureau Phone Challenger" IsSelected="true"/>
</CustomerStrategy>');
SELECT t.id
,Filtered.query('.') AS FilteredNodes
FROM @tbl AS t
OUTER APPLY xmlField.nodes(N'/CustomerStrategy/ChampionChallenger[@IsChampion eq "0" and @IsSelected eq "true" and @GroupId eq "BureauPhoneTest"]') AS A(Filtered)