It's entirely possible to have infinite terms conforming to the syntax you stated. An important class of such terms are the Rational Infinite terms. They are given by the property that, though they may be infinite, they have only a finite number of distinct subterms. For instance, $D_3 D_3$ can be thought of as having the rational infinite lambda term $⋯ D_3 D_3 D_3 D_3$ as its normal form, where $D_3 = λx·x x x$. In particular, the combinator reduction engine Combo, when given $D_3 D_3$ will recognize it as a "cyclic term", recognizing that it's contained as a subterm in its own reduction as $D_3 D_3 → ⋯ → D_3 D_3 D_3$ and stop reduction. It's entirely possible to modify "Combo" so that (a) it will actually produce the rational term as a normal form, rather than blocking reduction, and (b) it can process rational infinite lambda terms. I just never got around to making the upgrade (yet).
A finite syntax for rational infinite terms requires a way to explicitly refer to embedded subterms, since the term-subterm relation may be cyclic. So, the natural and obvious extension to the syntax is to add more clauses $Λ → X : Λ$, for labeled subterms containing one main term, and $Λ → \text{goto} X$ for a reference to a labeled subterm. Then the normal form of $D_3 D_3$ will just be $X: (\text{goto} X) D_3$. On top of this, you can graft the other control-flow structure of imperative programming languages, because a rational infinite lambda term is, itself, just an imperative control-flow structure in disguise.
Edit: (Search, search, ding) Bibliography time!
Lukasz Czajka, A New Coinductive Confluence Proof For Infinitary Lambda Calculus (PDF)
Jörg Endrullis and Andrew Polonsky, Infinitary Rewriting Coinductively (PDF)
J. R. Kennaway, J. W. Klop, M. R. Sleep, F. J. de Vries, Infinitary lambda calculus, Theoretical Computer Science, 175 (1), 1997-03-30, 93-125.