Yes, if you just want to do it with selections you need to run multiple selections and change the method/initial set.
First select by location using within your smallest boundary. Or if you've got two that overlap somewhat, you select everything within one then run another selection using the method 'select from currently selected features in', as discussed at Finding given objects under both a polygon and a buffer. The help files for Select by Location give an overview (with image) of various methods.
Once you've narrowed down your selection set based on locations, you can switch to select by attribute and use the same process - change the method to selecting only from the currently selected set with the attribute criteria you desire. The help files for Select by Attributes show similar examples of available methods.
Both tools allow you to:
- create a whole new selection
- add to a selection
- remove from a selection
- select from the current selection
So long as you don't deselect anything along the way, you can build very complicated selection sets depending on how many steps you take; similar to complex SQL queries but running each part individually.