Interlinear glosses using ExPeX
As I mentioned in my previous answer, I think that the ExPex package provides good tools for what you would like to do, although the input isn't thought out in the way you describe. The basic idea of automatic glossing in ExPex is that each line of the glosses is entered separately, and the package lines up the pieces in each gloss using white space, with braces to delimit groups.
See below for a solution using a spreadsheet to keep the text and numbers aligned.
Here is an example of your first two verses (thanks Morbusg for typing the first verse!). I've also added some formatting of the verses as \section{} commands using the titlesec package.
% !TEX TS-program = XeLaTeX
\documentclass[11pt]{book}
\usepackage[margin=1in]{geometry}
\usepackage{titlesec}
\usepackage{polyglossia}
\defaultfontfeatures{Ligatures=TeX}
\setmainlanguage{brazil}
\setotherlanguage[variant=ancient]{greek}
\setmainfont{Linux Libertine O}
\usepackage{expex}
\titleformat{\chapter}[display]
{\normalfont\filcenter}
{\LARGE\MakeUppercase{\chaptertitlename} \thechapter}
{1pc}
{\vspace{1pc}%
\LARGE}
\titlespacing{\chapter}
{0pt}{0pt}{10pt}
\titleformat{\section}[leftmargin]
{\normalfont
\vspace{0pt}%
\bfseries\Large\filleft}
{\thesection}{.5em}{}
\titlespacing{\section}
{4pc}{1.5ex plus .1ex minus .2ex}{0pt}
\renewcommand{\thesection}{\arabic{chapter}:\arabic{section}}
\lingset{glhangstyle=none}
\begin{document}
\setcounter{chapter}{1}
\chapter{O sonhou Nabucodonsor}
\section{}
\begingl
\gla 1722--3588 2094 3588 1208 3588 392 * 1797 *
1798 2532 1839 3588 4151--1473 {} 2532 3588 5258--1473 1096--575--1473//
\glb {εν τω} έτει τω δευτέρω της βασιλείας Ναβουχοδονόσορ ενυπνιάσθη Ναβουχοδονόσορ
ενύπνιον και εξέστη το πνεύμα αυτού και ο {ύπνος αυτού} {εγένετο απ 'αυτού}//
\glc No ano {} segundo do reinado {de Nabucodonosor} sonhou Nabucodonsor
{um sonho,} e desconcertou-se o espirito dele, e o {sono dele} {se lhe fugiu.}//
\endgl
\section{}
\begingl
\gla 2532 2036 3588 935 2564 3588 1883.3 2532 3588 3097 2532
3588 5333 2532 3588 * 3588 312 3588 935
3588 1798--1473 2532 2064 2532 2476 1799 3588 935//
\glb και είπεν ο βασιλεύς καλέσαι τονς επαοιδούς και τονς μάγους και
τονς φαρμακούς και τονς Χαλδαίούς τον αναγγείλαι τω βασιλεί
τα {ενύπνια αυτού} και ήλθον και έστησαν ενώπιον του βασιλεύς //
\glc E mandou o rei chamar os encantadores, e os magos, e
os {ministradores de poções,} e os Caldeus, para anunciar ao rei
{as \emph{coisas}} {dos sonhos dele.} e vieram E {postaram-se} diante
de rei//
\endgl
\end{document}
Using datatool to manage the parallel texts
The biggest problem with all of the solutions posted here is managing the relations between the numbering line, the Greek line, and the translation line. In the solution above, the input text is more readable, but it is difficult to find mistakes in the input. In Yiannis' and Morbusg's solutions, the input is quite tedious, and the text itself is unreadable in the source document. The following is an attempt at a solution to both problems. The idea is to keep the parallel texts in a CSV file and then use the datatool package in conjunction with ExPex to build the text.
Format of the CSV file
The CSV file contains 3 columns: Number, Greek, and Portuguese. Each row therefore constitutes a triple of a number, a Greek word (or words) and its translation. Each verse is delimited by the keyword section (since verses are \sections in the document) in the number column.
Because of the way the input lines are built up, spaces and *'s and empty cells need to be escaped in the CSV file. We do this with the following markup:
space = \space
empty cell = \null
* = \esc{*}
Sample CSV file
Here is the CSV file for the same text as in the example above. This file was created with Open Office, and saved at UTF-8 with TAB as the delimiter. We can't use , as the delimiter, since we need to allow for punctuation in the text.
Chapter2.csv
"Number" "Greek" "Portuguese"
"section"
"1722--3588" "{εν\space τω}" "No"
"2094" "έτει" "ano"
"3588" "τω" "\null"
"1208" "δευτέρω" "segundo"
"3588" "της" "do"
"392" "βασιλείας" "reinado"
"\esc{*}" "Ναβουχοδονόσορ" "{de\space Nabucodonosor}"
"1797" "ενυπνιάσθη" "sonhou"
"\esc{*}" "Ναβουχοδονόσορ" "Nabucodonsor"
"1798" "ενύπνιον" "{um\space sonho,}"
"2532" "και" "e"
"1839" "εξέστη" "desconcertou-se"
"3588" "το" "o"
"4151--1473" "πνεύμα" "espirito"
"\esc{\null}" "αυτού" "dele,"
"2532" "και" "e"
"3588" "ο" "o"
"5258--1473" "{ύπνος\space αυτού}" "{sono\space dele}"
"1096--575--1473" "{εγένετο\space απ\space 'αυτού}" "{se\space lhe\space fugiu.}"
"section"
"2532" "και" "E"
"2036" "είπεν" "mandou"
"3588" "ο" "o"
"935" "βασιλεύς" "rei"
"2564" "καλέσαι" "chamar"
"3588" "τονς" "os"
"1883.3" "επαοιδούς" "encantadores,"
"2532" "και" "e"
"3588" "τονς" "os"
"3097" "μάγους" "magos,"
"2532" "και" "e"
"3588" "τονς" "os"
"5333" "φαρμακούς" "{ministradores\space de\space poções,}"
"2532" "και" "e"
"3588" "τονς" "os"
"\esc{*}" "Χαλδαίούς" "Caldeus,"
"3588" "τον" "para"
"312" "αναγγείλαι" "anunciar"
"3588" "τω" "ao"
"935" "βασιλεί" "rei"
"3588" "τα" "{as\space \emph{coisas}}"
"1798--1473" "{ενύπνια\space αυτού}" "{dos\space sonhos\space dele.}"
"2532" "και" "e"
"2064" "ήλθον" "vieram"
"2532" "και" "E"
"2476" "έστησαν" "{postaram-se}"
"1799" "ενώπιον" "diante"
"3588" "του" "de"
"935" "βασιλεύς" "rei."
Document Code
Here is the document that reads the CSV file and generates the output:
% !TEX TS-program = XeLaTeX
\documentclass[11pt]{book}
\usepackage[margin=1in]{geometry}
\usepackage{titlesec}
\usepackage{polyglossia}
\defaultfontfeatures{Ligatures=TeX}
\setmainlanguage{brazil}
\setotherlanguage[variant=ancient]{greek}
\setmainfont{Linux Libertine O}
\usepackage{datatool}
\usepackage{expex}
% Format chapter and verse (\section) headings
\titleformat{\chapter}[display]
{\normalfont\filcenter}
{\LARGE\MakeUppercase{\chaptertitlename} \thechapter}
{1pc}
{\vspace{1pc}%
\LARGE}
\titlespacing{\chapter}
{0pt}{0pt}{10pt}
\titleformat{\section}[leftmargin]
{\normalfont
\vspace{0pt}%
\bfseries\Large\filleft}
{\thesection}{.5em}{}
\titlespacing{\section}
{4pc}{1.5ex plus .1ex minus .2ex}{0pt}
% format section label
\renewcommand{\thesection}{\arabic{chapter}:\arabic{section}}
% multiple gloss lines will align on the left margin
\lingset{glhangstyle=none}
% initialize some token registers to build up the lines from the database cells
\newtoks\glosslineA
\newtoks\glosslineB
\newtoks\glosslineC
% create a command to append a cell to the token register
% Thanks to Enrico Gregorio for this code
\long\def\Append#1#2{#1=\expandafter{%
\the\expandafter\expandafter\expandafter#1\expandafter\space #2}}
% Define a command to empty the token registers
\def\emptytoks{\glosslineA{}\glosslineB{}\glosslineC{}}
% Define a command used to escape * in the input cell
\def\esc#1{#1} %
\def\SecTest{section} % verse delimiter check
\begin{document}
\DTLsetseparator{ }% literal tab; with UTF8 source, \DTLsettabseparator doesn't work
\DTLloaddb{text}{Chapter2.csv}
\setcounter{chapter}{1}
\chapter{O sonhou do Nabucodonsor}
\DTLforeach{text}
{% assign each cell in a row to a macro
\Codes=Number,
\GreekText=Greek,
\PortugueseText=Portuguese%
}
{% If we're in the first row, start a section; otherwise if we find a section, output
% the previous section's lines, and start a new section, then empty the token registers
\DTLiffirstrow{\section{}}{
\DTLifeq{\Codes}{\SecTest}{
\begingl
\expandafter\gla\the\glosslineA//
\expandafter\glb\the\glosslineB//
\expandafter\glc\the\glosslineC//
\endgl
\section{}
\emptytoks
}
{% For each cell, append it to the token register for that line
\Append\glosslineA{\Codes}%
\Append\glosslineB{\GreekText}%
\Append\glosslineC{\PortugueseText}%
}}}
% output the last section's lines.
\begingl
\expandafter\gla\the\glosslineA//
\expandafter\glb\the\glosslineB//
\expandafter\glc\the\glosslineC//
\endgl
\end{document}
Output of both solutions

expexlooks like your best bet. But it will be very hard to reproduce your layout exactly. You may want to ask at the Apple SE if it's possible to get your G3's copy of Textures running on your Macbook. – Chel Feb 23 '12 at 13:35