if your file is that big maybe the desing could be wrong. unless you are using the file as a whole Database, i not goinf to recomend to split the files into chunks since it may screw the markup
XML Files approach is:
- do not require you to store data redundantly.
- can be accessed via standard XML APIs
- Data is universally understandable and portable
- Slow and memory hungry
- do not allow advanced locking, synchronization and concurrency control
- do not have any support for transactions
If you want is ease of use and ability to transfer data easily between multiple applications than XML files approach seems right.
If on the other hand you are performance conscious, you should go for database approach.
SqlServer supports for the xml data type and XPath ,XQuery statement.
For details see:
http://technet.microsoft.com/en-us/library/ms175024.aspx