ちょっと時間がたっちゃったんで元質問者さんはもう見てないかも知れませんが。。。
\usepackage{BBB}
\let\BBBint=\int% BBB.sty での定義を「保存」
\usepackage{AAA}
%\let\AAAint=\int% AAA.sty での定義を「保存」(不要?)
% この状態では AAA.sty の定義で上書きされている
\begin{document}
$\int x dx$ % AAA.styで定義された\intが出力
{\let\int=\BBBint% BBB.sty の定義を復活
$\int x dx$ % BBB.styで定義された\intが出力
}
$\int x dx$ % 再び AAA.styで定義された\intが出力
で目的は達成できるんではないでしょうか。
ちなみに,定義を差し替えたいマクロが多いときは
\def\changeBBB{%
\let\int=\BBBint
\let\sqrt=\BBBsqrt
}
みたいな,一括差し替えマクロを用意すればいいかと。