Yep, you’re correct on that score–when used within a *choice statement the ordinary *if condition(s) should indeed be placed on their own line, followed on the next line (and indented again accordingly) by any ordinary #option, *hide_reuse or *selectable_if. This makes the *choice statement highly flexible, by allowing a variety of *if conditions to be pre-applied to any of the three types of options.
However, when *selectable_if is the only condition needed (as in this case), then it should simply be written as (and all on one line):
*selectable_if (military_officer) #MRE’s and Canteen
Concerning your last comment; it’s a fair question so I’ll answer in full for any future readers wondering the same thing!
He really doesn’t want to change his *selectable_ifs to ordinary *ifs in this case. Not only is it unnecessary to do so (he just needs to follow the example above), he has also chosen the correct option type for what he wants to achieve here, which is to “gray out” a *selectable option if the player does not qualify. By this means the player knows that when they play again and choose different options at an earlier stage, different options would then become available at this point (e.g. Military Officers get a canteen). He doesn’t want to hide the information in this case (which is what an ordinary *if would do) as it encourages replays to try those unselectable options.