How to write grammar production rules to describe recursive structures?
Yes, you can use context-free grammars to describe data structures, but only if the data structure is linear (e.g., a linked list of integers).  Context-free grammars are not well-suited for trees or graphs (for those, you need something more powerful).

There's nothing wrong with a production like $A \to AA$; that's a valid rule that can appear in a context-free grammar.