Does anyone know of other options that might be good for such infrequent use?
If you go mobile, Truphone SIM will be the cheapest to maintain long term for absolute minimal usage. 9¢/minute/text/MB out, free inbound calls and texts, no monthly charge (Airvoice charges $1/month on their PAYGO plan), AT&T plus T-Mobile coverage, non-expiring balance so long as the phone gets used at least once every 30 days. $30 for a SIM card, but it comes with $15 in account credit. Minimum $15 re-up, but again, non-expiring if you keep the phone active once every 30 days.
Next cheapest is H2O Wireless PAYGO, 5¢/minute/text inbound or out, 10¢/MB data, 90 day expiry (or longer), no monthly surcharge, minimum $10 re-up, unused balance roll-over, and AT&T coverage.
VoIP would be a far cheaper option, honestly - something like Localphone would work, and they even have pre-configured smartphone apps for use. If an inbound number is needed, it's $3 for setup, 99¢/month with unlimited inbound calls. Outbound calls are 0.5¢/minute, cheaper if you get monthly calling packages, but the cheapest is 75¢/month for 250 minutes... just a bit of overkill. If you're worried about power outages, put your modem and router on a UPS which will keep the internet active even during an outage (bonus since the smartphone has a battery)... it'll help protect the electronics from brownouts and power surges, too. Unfortunately, VoIP on an iPhone can suffer a bit on incoming due to battery life and the need for keeping an active inbound network connection.
911 calling support on deactivated mobile handsets is covered in
the non-abridged guide, but the short answer is yes (as others have pointed out), it'll work without a SIM card or active account. The kid would need to know to use the phone's native dialer to call 911 instead of the VoIP dialer, though, and short of GPS co-ordinates (if a satellite lock can be made) or 100m cell tower triangulation, she'll also have to provide the house address when calling and the emergency operators won't be able to call back if the call is dropped. The ballpark triangulation/GPS thing with the need for a provided address by your daughter when calling 911 will still be true though, even with a paid mobile service. Teach your kid how to use a fire extinguisher, a few pointers on first aid, and maybe a few self-defense moves. All critical life skills that'll provide even faster first response than immediately calling for help.
If you'd rather go VoIP and you feel like you need proper e911 service, go VOIP.ms instead. Outbound per minute costs are higher at 1¢/minute, but they bill in six second increments, phone numbers are nearly as cheap as Localphone (or cheaper depending on the exchange) per month, but you'll have to pay per minute inbound rates, and e911 service will cost an extra $1.50/month - but you can manually set the address of the phone yourself for the PSAP operators. Only downside, you'll have to configure your own SIPphone, but they have an excellent wiki for that, and it's not as hard as you think.