Necessary and sufficient conditions for a CLT of variables that are independent but not iid are known: the Lindeberg-Feller CLT.
The conditions for a CLT of an independent zero-mean, sequence $y_n$ (or triangular array $y_{in}$ to converge are
- The 'Lindeberg' condition on the tails: with $s_n^2=\sum_{i=1}^n\mathrm{var}[Y_i]$, for any $\epsilon>0$, $$\lim_{n\to\infty}\frac{1}{s_n^2} \sum_{i=1}^n E[Y_i^2\mid |Y_i|>\epsilon s_n]=0$$
- The 'uniform asymptotic negligibility' condition $$\max_{i\leq n} \mathrm{var}[Y_i]/s_n^2\to 0$$
The Lindeberg condition is implied by a bound on $E[|Y_i|^{2+\delta}]$ for any $\delta>0$ and that's often how it's proved. The Lindeberg condition is sufficient, adding the UAN condition tightens it to be necessary.
The basic idea behind the proof of the sufficiency half of theorem is to take a sequence of Normal random variables with the same means and variances as the $Y_i$. The sum of this is (trivially) Normal. Now replace them one at a time by the $Y_i$ and show that the expectation of a suitable set of functions of the partial sums doesn't change much, so that the limiting distribution is still Normal. The details are a bit annoying but widely available.
We will want to take $Y_i=a_iX_i$. Whether your conditions imply these conditions is not clear. For a start, I'm not sure whether you mean your variables $X_i$ to iid or just zero mean and constant variance. If they aren't iid, it's possible that the result fails even for $a_i\equiv 1$. For example, if the skewness of the $X_i$ increases fast enough with $i$ the skewness of the partial sums might not go to zero.
If your $X_i$ are iid, we'd only need to worry about the impact of the $a_i$. Your condition
$$\frac{1}{n}\sum_{i\leq n} a_i^2\to p$$
is equivalent to
$$\sum_{i\leq n} \frac{\mathrm{var}[Y_i]}{n\sigma^2}=\sum_{i\leq n} \frac{a_i^2\sigma^2}{n\sigma^2}\to p/\sigma^2$$
which implies
$$\max_{i\leq n} \frac{\mathrm{var}[Y_i]}{n\sigma^2}\to 0$$
the UAN condition.
Again if your $X_i$ are iid
$$E[Y_i^2\mid |Y_i|>\epsilon s_n]=a_i^2E[X_i^2\mid |X_i|>\epsilon \tau_n ]$$
where $\tau_n=s_n/a_n=\sigma\sqrt{\sum_{i=1}^na_i^2}$. Your condition on $a_i$ implies $\tau_n$ is close to $p$ (within an arbitrarily short interval except finitely often), so this implies Lindeberg's condition.
Note that convergence of $\frac{1}{n}\sum_i a_i^2$ was used; a $\limsup$ would not be enough.