What you need to use is a ValidationGroup attribute on both the buttons and the validations. This allows certain actions to only enforce a subset of validators on the page when the button is clicked.
<asp:TextBox ID="txtA" runat="server" />
<asp:RequiredFieldValidator ID="rfvA" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="A" />
<asp:Button ID="btnA" runat="server" Text="A" ValidationGroup="A" />
<asp:TextBox ID="txtB" runat="server" />
<asp:RequiredFieldValidator ID="rfvB" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="B" />
<asp:Button ID="btnB" runat="server" Text="B" ValidationGroup="B" />
Now when btnA is clicked, it will only check whether rfvA is valid (checking txtA) and when btnB is clicked, it will only check whether rfvB is valid. And yes you can have multiple validation controls in the same validation group.
When you set the CausesValidation property to false, you were disabling all validation actions for the button, not just the ones you didn't want on.