|Perl: the Markov chain saw|
The answer to a lot of your questions is, it depends. How fast something runs on a machine of unknown spec depends on many factors, including your how you've written the app, where the database will live (a remote server over a slow network?), the staste of the machine, and so on.
"What sort of performance can I expect from whatever database engine I would end up using?"
Many modern databases are capible of some fancy text searching capabilities 'out of the box'. The performance depends to a great extent on your database of choice, how you confirugre it, how you index the data and you query the data.
"How much time would it take to import 8GB of text into a database format and how much space would it take up?"
Importing the data into a database shouldn't take too long, and it's a one time thing. For size it depends on the database and it's data compression.
"Could the whole app be packaged up into a reasonably-sized .exe file with PAR::Packer?"
Depending on your defination of reasonable, yes.
If your goal is to package an application to allow users to remotely query a database, consider the alternatives, for example a web based search tool running on the same server as the database. Consider also that other open source products already exist for text searching, for example Solr (note, it's not Perl) and the Perl module Solr.
Update: fixed typo.