The CAML engine takes in that wretched "query language", translates the exposed names/value from the schema to the back-end format, builds the appropriate SQL query, and then sends the entire mess off to SQL Server.
The collation -- including insensitivity -- rules are part of SQL Server, and not SharePoint (or the CAML engine) itself (although there could be subtle bugs introduced; you have been warned!).
SQL Server supports different COLLATIONS (including some that are accent-insensitive as well as the "standard" case-insensitive). However, SharePoint runs within a rather limited "supported" configuration -- changing the collation may be inadvisable.
All of the databases required by SharePoint Server use the Latin1_General_CI_AS_KS_WS collation.
However, it may be possible to hack the appropriate SQL table backing the list with ALTER TABLE and specify an alternate collation such as SQL_Latin1_General_Cp1_CI_AI
(AI = Accent-Insensitive, AS = Accent-Sensitive). Your mileage may vary: this is not a supported scenario.
Another option might be use an item trigger and code-behind to "normalize" all the values -- to, say, "carlos". (These normalized values would be stored in a different column.) The code-behind can use the full power of .NET for this step but does also introduce additional complications/requirements.
Happy coding.