The language in question consists of all palindromes in which no two consecutive characters are the same. For example, $aa$ is a palindrome, but doesn't belong to the language since $a$ repeats; but $aba$ is OK.
When the alphabet consists only of $a$ and $b$, you can modify the grammar $S \to aSa|bSb|a|b|\epsilon$ of palindromes to accept your language by using two nonterminals $A,B$ which generate the following languages:
- $A$ generates all palindromes starting with $a$ in which no two consecutive characters are the same.
- $B$ generates all palindromes starting with $b$ in which no two consecutive characters are the same.
I'll let you complete the construction, and generalize it to larger alphabets.
(In the particular case of an alphabet of size 2, the language is actually regular, but this doesn't happen when the alphabet is larger.)
The simplest way to construct a PDA is to use to use the production construction: starting with a PDA for the palindrome language and a DFA for the language of strings with no repeated characters, you can construct a PDA accepting the intersection. This is a standard construction that appears in many textbooks.