Does CiviCRM fulfil our charity's requirements?
Yes. Specifically:


CiviCRM is a web-app and therefore works equally well on OS X and Windows.
CiviCRM has a case-management feature which incidentally was originally designed for homelessness services.
There is a grant tracking feature but this is intended for organizations giving grants not receiving them. However CiviCase may be adequate for your grant tracking needs.
Information like "reason for homelessness" can be stored in custom fields - you can create as many of these as you need.
You can import records to CiviCRM from spreadsheets (specifically from the .csv format, which Excel can save as)