prvo nisam siguran da razumem šta tačno želiš, a i da skontam, malo si podataka dao.. a i da si objasnio sve lepo, ne postoji "najbolja praxa", pošto je problem koji opisuješ izgleda specifičan, i ne postoje generalizovana rešenja..
u svakom slučaju, uvek imaš dva
generalna rešenja :-P koja oba podrazumevanju pisanje custom komponenti (ili nešto slično):
1) keširanje
2) dovlačenje najmanje moguće količine podataka sa servera (znači isključivo po potrebi, i eventualno malo unapred, ako može da se "predvidi")